- 输出文件 -
/out:<file> 输出文件名(默认值: 包含主类的文件或第一个文件的基名称)
/target:exe 生成控制台可执行文件(默认) (缩写: /t:exe)
/target:winexe 生成 Windows 可执行文件 (缩写: /t:winexe)
/target:library 生成库DLL (缩写: /t:library)
/target:module 生成能添加到其他程序集的模块 (缩写: /t:module)
/define:<symbol list> 定义条件编译符号 (缩写: /d)
/doc:<file> 要生成的 XML 文档文件
格式: csc /target:library /out:xxx.dll xxx.cs
(把XXX.CS文件编译成XXX.DLL)
csc.exe是.net用来编译.cs文件的,但必须要在安装目录下使用。所以我们要设置一下环境变量。
C#环境变量设置:
1、在桌面右击[我的电脑]->[属性]->[高级]->[环境变量]
2、在下面的系统变量栏点击“新建”
3、变量名输入“csc”
4、变量值输入:“C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/” (2000是C:/WINNT/Microsoft.NET/Framework/v1.1.4322/)
5、然后在系统变量列表框中双击“Path”
6、在变量名文本框的最后面加入“;%csc%”
恩,现在可以在任意目录下调试.cs文件了。
通过在命令行上键入 C# 编译器可执行文件的名称 (csc.exe),可以在命令行调用 C# 编译器。如果希望从计算机上的任何子目录调用 csc.exe,可能需要调整路径。
命令行语法规则
当解释操作系统命令行上给出的参数时,C# 编译器代码使用下面的规则:
参数用空白分隔,空白可以是一个空格或制表符。
^ 字符 (^) 未被识别为转义符或者分隔符。该字符在被传递给程序中的 argv 数组前,完全由操作系统的命令行分析器进行处理。
无论其中有无空白,包含在双引号 ("string") 中的字符串均被解释为单个参数。带引号的字符串可以嵌入在参数内。
前面有反斜杠的双引号 (/") 被解释为原义双引号字符 (")。
反斜杠按其原义解释,除非它们紧位于双引号之前。
如果偶数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在 argv 数组中,并且双引号被解释为字符串分隔符。
如果奇数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在 argv 数组中,双引号由其余的反斜杠“转义”,使原义双引号 (") 被放置在 argv 数组中。
命令行示例
编译 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