大家还是要常用用csc,个人感觉有时vs有不少不太方便的东西。
C:\>csc /help |more Microsoft (R) Visual C# 编译器版本7.00.9254 [CLR version v1.0.2914] 版权所有 (C) Microsoft Corp 2000-2001。保留所有权利。
Visual C# 编译器选项
- 输出文件 - /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: 设置警告等级 (0-4) (缩写: /w) /nowarn:<警告列表>禁用指定的警告信息
/reference:<文件列表> 从指定的程序集文件引用元数据 (缩写: /r) /addmodule:<文件列表> 将指定的模块链接到此程序集中
- 资源 - /win32res:<文件>指定 Win32 资源文件 (.res) /win32icon:<文件> 使用该图标输出 /resource:<资源信息>嵌入指定的资源 (缩写: /res) /linkresource:<资源信息>将指定的资源链接到此程序集中 (缩写: /linkres)
- 代码生成 - /debug[+|-] 发出调试信息 /debug:{full|pdbonly} 指定调试类型(“full”是默认类型,可以将调试程序 附加到正 在运行的程序) /optimize[+|-]启用优化 (缩写: /o) /incremental[+|-] 启用增量编译 (缩写: /incr)
- 错误和警告 - /warnaserror[+|-] 将警告视为错误 /warn: 设置警告等级 (0-4) (缩写: /w) /nowarn:<警告列表>禁用指定的警告信息
- 语言 - /checked[+|-] 生成溢出检查 /unsafe[+|-]允许“不安全”代码
- 杂项 - @<文件> 读取响应文件以获得更多选项 /help 显示此用法信息 (缩写: /?) /nologo 取消编译器版权信息 /noconfig 不要自动包含 CSC.RSP 文件
- 高级 - /baseaddress:<地址> 要生成的库的基址 /bugreport:<文件> 创建一个“错误报告”文件 /codepage: 指定打开源文件时要使用的代码页
/utf8output UTF-8 编码的输出编译器消息 /main:<类型>指定包含入口点的类型(忽略所有其他可能的入口点) (缩写: /m) /fullpaths编译器生成完全限定路径 /filealign:指定用于输出文件节的对齐方式 /nostdlib[+|-]不引用标准库 (mscorlib.dll) /lib:<文件列表> 指定要在其中搜索引用的
|