cs文件编译成dll文件

 

ContractedBlock.gif ExpandedBlockStart.gif Code
 1using System.Drawing; 
 2using System.Web.UI.HtmlControls; 
 3using System.Web.UI.WebControls; 
 4using System; 
 5namespace Wmj 
 6ExpandedBlockStart.gifContractedBlock.gif
 7   public class FileUpLoad : Panel 
 8ExpandedSubBlockStart.gifContractedSubBlock.gif   
 9       private HtmlInputFile htmlInputFile; 
10       private Button button; 
11       private Label label; 
12       public FileUpLoad() : base() 
13ExpandedSubBlockStart.gifContractedSubBlock.gif       
14           htmlInputFile=new HtmlInputFile(); 
15           button=new Button(); 
16           button.Text="上传"
17           button.Click+=new EventHandler(this.Button_Click); 
18           label=new Label(); 
19           label.Text="<font size=2>请选择上传文件的路径</font>"
20           this.Controls.Add(htmlInputFile); 
21           this.Controls.Add(button); 
22           this.Controls.Add(label); 
23           this.Width=450
24           this.Height=30
25           this.BorderStyle=BorderStyle.Dotted; 
26           this.BorderWidth=1
27       }
 
28       private void Button_Click(object sender, EventArgs e) 
29ExpandedSubBlockStart.gifContractedSubBlock.gif       
30           System.Web.HttpPostedFile postedFile=htmlInputFile.PostedFile; 
31           if(postedFile!=null
32ExpandedSubBlockStart.gifContractedSubBlock.gif           
33ExpandedSubBlockStart.gifContractedSubBlock.gif               try
34                string fileName=PathToName(postedFile.FileName); 
35               if(!fileName.EndsWith(Extension)) 
36ExpandedSubBlockStart.gifContractedSubBlock.gif                {label.Text="You must select "+Extension+" file!"return;} 
37               if(postedFile.ContentLength>int.Parse(FileLength)) 
38ExpandedSubBlockStart.gifContractedSubBlock.gif                {label.Text="File too big!";return;} 
39                postedFile.SaveAs(SavePath+fileName); 
40                label.Text="Upload File Successfully!"
41                return
42ExpandedSubBlockStart.gifContractedSubBlock.gif               }
catch(System.Exception exc){label.Text=exc.Message;return;} 
43           }
 
44           label.Text="Please select a file to upload!"
45           return
46       }
 
47       private string savePath=""
48       private string extension=""
49       private string fileLength="0"
50      //上传的文件保存在服务器上的位置默认为c: 这些属性一般都是在asp.net的标记中设置也可以在codebehind中设置 
51       public string SavePath 
52ExpandedSubBlockStart.gifContractedSubBlock.gif       
53           get 
54ExpandedSubBlockStart.gifContractedSubBlock.gif           
55               if(savePath!=""return savePath; 
56                return "c:\\"
57           }
 
58           set 
59ExpandedSubBlockStart.gifContractedSubBlock.gif           
60            savePath=value; 
61           }
 
62       }
 
63      //上传文件的最大长度 单位k 默认为1k 
64       public string FileLength 
65ExpandedSubBlockStart.gifContractedSubBlock.gif       
66           get 
67ExpandedSubBlockStart.gifContractedSubBlock.gif           
68               if(fileLength!="0"return fileLength; 
69               return "1024"
70           }
 
71           set 
72ExpandedSubBlockStart.gifContractedSubBlock.gif           
73                fileLength=(int.Parse(value)*1024).ToString(); 
74           }
 
75       }
 
76      //上传文件的扩展名 默认为txt 
77       public string Extension 
78ExpandedSubBlockStart.gifContractedSubBlock.gif       
79           get 
80ExpandedSubBlockStart.gifContractedSubBlock.gif           
81               if(extension!=""return extension; 
82               return "txt"
83           }
 
84           set 
85ExpandedSubBlockStart.gifContractedSubBlock.gif           
86                extension=value; 
87           }
 
88       }
 
89       public string PathToName(string path) 
90ExpandedSubBlockStart.gifContractedSubBlock.gif       
91           int pos=path.LastIndexOf("\\"); 
92           return path.Substring(pos+1); 
93       }
 
94   }
 
95  }
 
96
97

 

装了VS的话 可以直接编译(F5还是ctrl+f5忘了)

如果没有VS用下面的办法
搜索csc.exe

打开cmd 转到csc.exe的文件夹
运行
csc /t:library   N:\NET\cs\*.cs  
N:\NET\cs\*.cs  是你的cs文件的位置
 在VS.net的IDE环境下编译asp.net非常简单,按F5就可以编译了。项目的dll自动生成到项目文件夹下的bin目录。
   如果没有vs.net环境,只安装了.Net Framework,编译就要记相应的参数命令了。csc是编译命令,后面还可以跟许多参数,具体的,可以在命令行键入“csc /help”看到。
 
 

正常情况下csc.exe的目录下会多个dll文件 copy出来

asp.net程序是经过编译执行的,这个大家都知道,尤其是使用Codebehind的时候,必须先把背后的.cs文件编译形成.dll文件,然后才可以执行。这个过程,如果你有vs.net,那很轻松就可以完成,但如果没有,那就得借助命令行了。
仔细查一下.net framework sdk文档,可以找到关于这个话题的详细说明,好象没有必要专门贴一篇文章,但是今下午我在用的时候却发现了一个问题,文档中说“运行VCVARS32.BAT”,但当你进入.net framework sdk的安装目录的bin文件夹下,却并没有发现VCVARS32.BAT文件,这个时候只能使用sdkvars.bat文件了,其实这个的作用应该是和那个“传说中的”VCVARS32.BAT相同。当你运行了sdkvars后,就可以使用先前“被封印的”csc命令了。
然后就可以用csc命令编译.cs文件了,这个时候可能又会出现一个问题,按照大部分书上的说法,你只要指定了Inherits和Codebehind,并且用csc编译了那个背后的.cs,就可以运行这个aspx文件,但实际上并不是这样,错误提示为“找不到指定的类”。解决办法就是在根目录下建立一个bin文件夹,然后把编译产生的.dll文件放到里面去,这样问题应该就解决了。如果还是找不到,那问题可能是你的bin文件夹并不是在根目录最上面,而是在根目录下的某个文件夹里,这个时候你需要做的就是把它拖到最上面。
下面给出命令行示例,这个其实在.net framework sdk文档里就可以找到,不过为了方便,还是复制了过来:

编译 File.cs 以产生 File.exe:
csc File.cs
编译 File.cs 以产生 File.dll:
csc /target:library File.cs
编译 File.cs 并创建 My.exe:
csc /out:My.exe File.cs
通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件。输出为 File2.exe:
csc /define:DEBUG /optimize /out:File2.exe *.cs
编译当前目录中所有的 C# 文件,以产生 File2.dll 的调试版本。不显示任何徽标和警告:
csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
将当前目录中所有的 C# 文件编译为 Something.xyz(一个 DLL):
csc /target:library /out:Something.xyz *.cs

编译 File.cs 以产生 File.dll: csc /target:library File.cs这个就是我们使用最多的一个命令,其实可以简单的写成csc /t:library File.cs,另外的一个写法是
csc /out:mycodebehind.dll /t:library mycodebehind.cs,这个可以自己指定输出的文件名。
csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,这个的作用是把两个cs文件装到一个.dll文件里,很有用哦。

转载于:https://www.cnblogs.com/harry_li/archive/2008/08/15/1268732.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值