大家还是要常用用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:<文件列表> 指定要在其中搜索引用的附加目录