Csc 任务
更新:2007 年 11 月
包装 CSC.exe 并生成可执行文件(.exe 文件)、动态链接库(.dll 文件)或代码模块(.netmodule 文件)。有关 CSC.exe 的更多信息,请参见 C# 编译器选项。
参数
下表描述了 Csc 任务的参数。
参数 |
说明 |
---|---|
AdditionalLibPaths |
可选的 String[] 参数。 指定要在其中搜索引用的其他目录。有关更多信息,请参见 /lib(指定程序集引用位置)(C# 编译器选项)。 |
AddModules |
可选的 String 参数。 指定一个或多个将成为程序集的一部分的模块。有关更多信息,请参见 /addmodule(导入元数据)(C# 编译器选项)。 |
AllowUnsafeBlocks |
可选的 Boolean 参数。 如果为 true,则编译使用 unsafe 关键字的代码。有关更多信息,请参见 /unsafe(启用不安全模式)(C# 编译器选项)。 |
BaseAddress |
可选的 String 参数。 指定加载 DLL 的首选基址。DLL 的默认基址由 .NET Framework 公共语言运行库设置。有关更多信息,请参见 /baseaddress(指定 DLL 的基址)(C# 编译器选项)。 |
CheckForOverflowUnderflow |
可选的 Boolean 参数。 指定溢出数据类型边界的整数算法是否会在运行时导致异常。有关更多信息,请参见 /checked(检查整数算法)(C# 编译器选项)。 |
CodePage |
可选的 Int32 参数。 指定要用于编译中所有源代码文件的代码页。有关更多信息,请参见 /codepage(指定源代码文件的代码页)(C# 编译器选项)。 |
DebugType |
可选的 String 参数。 指定调试类型。DebugType 可以是 full,也可以是 pdbonly。默认值为 full,这意味着允许将调试器附加到正在运行的程序。指定 pdbonly 会允许在调试器中启动程序时进行源代码调试,但仅在正在运行的程序附加到调试器时才显示汇编程序。 此参数重写 EmitDebugInformation 参数。 有关更多信息,请参见 /debug(发出调试信息)(C# 编译器选项)。 |
DefineConstants |
可选的 String 参数。 定义预处理器符号。有关更多信息,请参见 /define(预处理器定义)(C# 编译器选项)。 |
DelaySign |
可选的 Boolean 参数。 如果为 true,表示您需要完全签名的程序集。如果为 false,则表示您只希望将公钥放入程序集中。 除非与 KeyFile 或 KeyContainer 参数一起使用,否则此参数无效。 有关更多信息,请参见 /delaysign(延迟为程序集签名)(C# 编译器选项)。 |
DisabledWarnings |
可选的 String 参数。 指定要禁用的警告列表。有关更多信息,请参见 /nowarn(取消显示指定警告)(C# 编译器选项)。 |
DocumentationFile |
可选的 String 参数。 将文档注释处理到一个 XML 文件中。有关更多信息,请参见 /doc(处理文档注释)(C# 编译器选项)。 |
EmitDebugInformation |
可选的 Boolean 参数。 如果为 true,任务将生成调试信息并将其放入程序数据库文件 (.pdb) 中。如果为 false,则任务将不会发出任何调试信息。默认值为 false。有关更多信息,请参见 /debug(发出调试信息)(C# 编译器选项)。 |
ErrorReport |
可选的 String 参数。 提供一种向 Microsoft 报告 C# 内部错误的方便途径。此参数的值可以为 prompt、send 或 none。如果该参数设置为 prompt,将在发生内部编译器错误时提示您。该提示允许您以电子方式向 Microsoft 发送 Bug 报告。如果该参数设置为 send,则将自动发送 Bug 报告。如果该参数设置为 none,则将仅在编译器的文本输出中报告该错误。默认为 none。有关更多信息,请参见 /errorreport(设置错误报告行为)(C# 编译器选项)。 |
FileAlignment |
可选的 Int32 参数。 指定输出文件中节的大小。有关更多信息,请参见 /filealign(指定节对齐)(C# 编译器选项)。 |
GenerateFullPaths |
可选的 Boolean 参数。 如果为 true,将在编译器输出中指定文件的绝对路径。如果为 false,则指定文件的名称。默认值为 false。有关更多信息,请参见 /fullpaths(在编译器输出中指定完全限定路径)(C# 编译器选项)。 |
KeyContainer |
可选的 String 参数。 指定加密密钥容器的名称。有关更多信息,请参见 /keycontainer(指定强名称密钥容器)(C# 编译器选项)。 |
KeyFile |
可选的 String 参数。 指定包含加密密钥的文件名。有关更多信息,请参见 /keyfile(指定强名称密钥文件)(C# 编译器选项)。 |
LangVersion |
可选的 String 参数。 指定要使用的语言版本。有关更多信息,请参见 /langversion(符合规范的语法)(C# 编译器选项)。 |
LinkResources |
可选的 ITaskItem[] 参数。 在输出文件中创建指向 .NET Framework 资源的链接;资源文件不放置在输出文件中。 传入到此参数中的项可以具有名为 LogicalName 和 Access 的可选元数据项。LogicalName 对应于 /linkresource 开关的 identifier 参数,Access 对应于 accessibility-modifier 参数。有关更多信息,请参见 /linkresource(链接到 .NET Framework 资源)(C# 编译器选项)。 |
MainEntryPoint |
可选的 String 参数。 指定 Main 方法的位置。有关更多信息,请参见 /main(指定 Main 方法的位置)(C# 编译器选项)。 |
NoConfig |
可选的 Boolean 参数。 如果为 true,将指示编译器不要使用 csc.rsp 文件进行编译。有关更多信息,请参见 /noconfig(忽略 csc.rsp)(C# 编译器选项)。 |
NoLogo |
可选的 Boolean 参数。 如果为 true,将禁止显示编译器版本标志信息。有关更多信息,请参见 /nologo(取消显示版权标志信息)(C# 编译器选项)。 |
NoStandardLib |
可选的 Boolean 参数。 如果为 true,将禁止导入定义整个 System 命名空间的 mscorlib.dll。如果您希望定义或创建自己的 System 命名空间和对象,请使用此参数。有关更多信息,请参见 /nostdlib(不导入标准库)(C# 编译器选项)。 |
Optimize |
可选的 Boolean 参数。 如果为 true,将启用优化。如果为 false,则禁用优化。有关更多信息,请参见 /optimize(启用/禁用优化)(C# 编译器选项)。 |
OutputAssembly |
可选的 String 输出参数。 指定输出文件的名称。有关更多信息,请参见 /out(设置输出文件名)(C# 编译器选项)。 |
Platform |
可选的 String 参数。 指定输出文件的目标处理器平台。此参数的值可以为 x86、x64 或 anycpu。默认值为 anycpu。有关更多信息,请参见 /platform(指定输出平台)(C# 编译器选项)。 |
References |
可选的 ITaskItem[] 参数。 使任务将公共类型信息从指定项导入到当前项目。有关更多信息,请参见 /reference(导入元数据)(C# 编译器选项)。 通过将元数据 Aliases 添加到原始“Reference”项中,可以在 MSBuild 文件中指定 Visual C# 引用别名。例如,若要在以下 CSC 命令行中设置别名“LS1”:
请使用:
|
Resources |
可选的 ITaskItem[] 参数。 在输出文件中嵌入 .NET Framework 资源。 传入到此参数中的项可以具有名为 LogicalName 和 Access 的可选元数据项。LogicalName 对应于 /resource 开关的 identifier 参数,Access 对应于 accessibility-modifier 参数。有关更多信息,请参见 /resource(将资源文件嵌入输出文件中)(C# 编译器选项)。 |
ResponseFiles |
可选的 String 参数。 指定包含此任务的命令的响应文件。有关更多信息,请参见 @(指定响应文件)(C# 编译器选项)。 |
Sources |
可选的 ITaskItem[] 参数。 指定一个或多个 Visual C# 源文件。 |
TargetType |
可选的 String 参数。 指定输出文件的文件格式。此参数的值可以为 library(创建代码库)、exe(创建控制台应用程序)、module(创建模块)或 winexe(创建 Windows 程序)。默认值为 library。有关更多信息,请参见 /target(指定输出文件格式)(C# 编译器选项)。 |
Timeout |
可选的 Int32 参数。 指定在多少毫秒后终止任务可执行文件。默认值为 Int.MaxValue,这表示没有超时期限。 |
ToolPath |
可选的 String 参数。 指定任务将从什么位置加载基础可执行文件 (CSC.exe)。如果未指定此参数,任务将使用与运行 MSBuild 的 Framework 版本对应的 SDK 安装路径。 |
TreatWarningsAsErrors |
可选的 Boolean 参数。 如果为 true,则会将所有警告视为错误。有关更多信息,请参见 /warnaserror(将警告视为错误)(C# 编译器选项)。 |
UseHostCompilerIfAvailable |
可选的 Boolean 参数。 指示任务使用进程内编译器对象(如果有的话)。仅由 Visual Studio 使用。 |
Utf8Output |
可选的 Boolean 参数。 使用 UTF-8 编码记录编译器输出。有关更多信息,请参见 /utf8output(使用 UTF-8 显示编译器消息)(C# 编译器选项)。 |
WarningLevel |
可选的 Int32 参数。 指定编译器要显示的警告等级。有关更多信息,请参见 /warn(指定警告等级)(C# 编译器选项)。 |
WarningsAsErrors |
可选的 String 参数。 指定将被视为错误的警告的列表。有关更多信息,请参见 /warnaserror(将警告视为错误)(C# 编译器选项)。 此参数重写 TreatWarningsAsErrors 参数。 |
WarningsNotAsErrors |
可选的 String 参数。 指定不被视为错误的警告的列表。有关更多信息,请参见 /warnaserror(将警告视为错误)(C# 编译器选项)。 只有当 TreatWarningsAsErrors 参数设置为 true 时,此参数才有用。 |
WarningLevel |
可选的 Int32 参数。 设置适当的警告等级,这是 0 到 4 之间的值。有关更多信息,请参见 /warn(指定警告等级)(C# 编译器选项)。 |
Win32Icon |
可选的 String 参数。 在程序集中插入 .ico 文件,使输出文件在 Windows 资源管理器中具有所需的外观。有关更多信息,请参见 /win32icon(导入 .ico 文件)(C# 编译器选项)。 |
Win32Resource |
可选的 String 参数。 在输出文件中插入 Win32 资源文件 (.res)。有关更多信息,请参见 /win32res(导入 Win32 资源文件)(C# 编译器选项)。 |
示例
下面的示例使用 Csc 任务基于 Compile 项集合中的源文件编译一个可执行文件。
<CSC
Sources="@(Compile)"
OutputAssembly="$(AppName).exe"
EmitDebugInformation="true" />