C#环境变量设置步骤:
- 在桌面右击[我的电脑]->[属性]->[高级]->[环境变量]
- 在下面的系统变量栏点击“新建”
- 变量名输入“csc”
- 变量值输入:“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/”(也许你的机器上.net framework的版本会有所不同,因而后面的文件夹名称v2.0.50727会有不同)
- 然后在系统变量列表框中双击“Path”
- 在变量名文本框的最后面加入“;%csc%;”(注意是双引号内的内容,前后要有分号)
- 其实,有一种更简洁的方法,那就是直接编辑系统变量列表框中双击“Path”,在后面加上“;C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/;”
- 设置完环境变量,在cmd命令中输入csc.exe,测试是否成功。
csc.exe编译器常用命令:
- 命令:csc File.cs ,功能:编译 File.cs以产生 File.exe,另一种写法:csc/out:MyFile.exe File.cs,可以自定义编译生成的执行文件名称
- 命令:csc/target:library File.cs ,功能:编译 File.cs 以产生 File.dll,另一种写法:csc /target:library /out:MyFile.dll File.cs,可以自定义编译生成的库文件名称
- 命令:csc/define:DEBUG /optimize /out:File2.exe *.cs ,功能:通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件,输出为 File2.exe
- 命令:csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs ,功能:编译当前目录中所有的 C# 文件,以产生File2.dll 的调试版本,不显示任何徽标和警告
- 命令:csc /target:library /out:Something.xyz *.cs ,功能:将当前目录中所有的 C# 文件编译为Something.xyz(一个DLL)
csc.exe编译器命令详解:
编译器位置:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/csc.exe
- 编译器选项 - - 输出文件 -
/out:<文件> 输出文件名(默认值:包含主类的文件或第一个文件的基名称)
/target:exe 生成控制台可执行文件(默认) (缩写: /t:exe)
/target:winexe 生成Windows可执行文件 (缩写: /t:winexe)
/target:library 生成库 (缩写: /t:library)
/target:module 生成能添加到其他程序集的模块 (缩写: /t:module)
/define:<符号列表> 定义条件编译符号 (缩写: /d)
/doc:<文件> 要生成的XML文档文件
/recurse:<通配符> 根据通配符规范,包括当前目录和子目录下的所有文件
/reference:<文件列表> 从指定的程序集文件引用元数据 (缩写: /r)
/addmodule:<文件列表> 将指定的模块链接到此程序集中
- 资源文件 -
/win32res:<文件> 指定Win32资源文件(.res)
/win32icon:<文件> 使用该图标输出
/resource:<资源信息> 嵌入指定的资源 (缩写: /res)
/linkresource:<资源信息> 将指定的资源链接到此程序集中 (缩写: /linkres)
- 代码调试 -
/debug[+|-] 发出调试信息
/debug:{full|pdbonly} 指定调试类型(“full”是默认类型,可以将调试程序附加到正在运行的程序)
/optimize[+|-] 启用优化 (缩写: /o)
/incremental[+|-] 启用增量编译 (缩写: /incr)
- 错误和警告 -
/warnaserror[+|-] 将警告视为错误
/warn:<n> 设置警告等级(0-4) (缩写: /w)
/nowarn:<警告列表> 禁用特定的警告消息
- 语言 -
/checked[+|-] 生成溢出检查
/unsafe[+|-] 允许“不安全”代码
- 杂项 -
@<文件> 读取响应文件以获得更多选项
/help 显示此用法信息 (缩写: /?)
/nologo 取消编译器版权信息
/noconfig 不要自动包含CSC.RSP文件
- 高级 -
/baseaddress:<地址> 要生成的库的基址
/bugreport:<文件> 创建一个“错误报告”文件
/codepage:<n> 指定打开源文件时要使用的代码页
/utf8output UTF-8编码的输出编译器消息
/main:<类型> 指定包含入口点的类型(忽略所有其他可能的入口点) (缩写: /m)
/fullpaths 编译器生成完全限定路径
/filealign:<n> 指定用于输出文件节的对齐方式
/nostdlib[+|-] 不引用标准库(mscorlib.dll)
/lib:<文件列表> 指定要在其中搜索引用的附加目录