Csc 任务
包装 CSC.exe 并生成可执行文件(.exe 文件)、动态链接库(.dll 文件)或代码模块(..netmodule 文件)。有关 CSC.exe 的更多信息,请参见 C# 编译器选项。
参数
下表描述了 Csc 任务的参数。
Parameter |
说明 |
---|---|
AdditionalLibPaths |
可选 String[] 参数。 指定将在其中搜索引用的其他目录。有关更多信息,请参见 /lib(C# 编译器选项)。 |
AddModules |
可选 String 参数。 指定一个或多个将成为程序集的一部分的模块。有关更多信息,请参见 /addmodule(C# 编译器选项)。 |
AllowUnsafeBlocks |
可选 Boolean 参数。 如果为 true,则编译使用 unsafe 关键字的代码。有关更多信息,请参见 /unsafe(C# 编译器选项)。 |
ApplicationConfiguration |
可选 String 参数。 指定包含程序集绑定设置的应用程序配置文件。 |
BaseAddress |
可选 String 参数。 指定加载 DLL 的首选基址。DLL 的默认基址由 .NET Framework 公共语言运行时设置。有关更多信息,请参见 /baseaddress(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 (C# 编译器选项)。 |
MainEntryPoint |
可选 String 参数。 指定 Main 方法的位置。有关更多信息,请参见 /main(C# 编译器选项)。 |
ModuleAssemblyName |
可选 String 参数。 指定包含此模块的程序集的名称。 |
NoConfig |
可选 Boolean 参数。 如果为 true,将指示编译器不要使用 csc.rsp 文件进行编译。有关更多信息,请参见 /noconfig (C# 编译器选项)。 |
NoLogo |
可选 Boolean 参数。 如果为 true,将禁止显示编译器版本标志信息。有关更多信息,请参见 /nologo (C# 编译器选项)。 |
NoStandardLib |
可选 Boolean 参数。 如果为 true,将禁止导入定义整个 System 命名空间的 mscorlib.dll。如果您希望定义或创建自己的 System 命名空间和对象,请使用此参数。有关更多信息,请参见 /nostdlib(C# 编译器选项)。 |
NoWin32Manifest |
可选 Boolean 参数。 如果为 true,则不包括默认的 Win32 清单。 |
Optimize |
可选 Boolean 参数。 如果为 true,将启用优化。如果为 false,则禁用优化。有关更多信息,请参见 /optimize(C# 编译器选项)。 |
OutputAssembly |
可选 String 输出参数。 指定输出文件的名称。有关更多信息,请参见 /out(C# 编译器选项)。 |
PdbFile |
可选 String 参数。 指定调试信息文件名。默认名称是带 .pdb 扩展名的输出文件名。 |
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# 编译器选项)。 |
TreatWarningsAsErrors |
可选 Boolean 参数。 如果为 true,则会将所有警告视为错误。有关更多信息,请参见 /warnaserror(C# 编译器选项)。 |
UseHostCompilerIfAvailable |
可选 Boolean 参数。 指示任务使用进程内编译器对象(如果有的话)。仅由 Visual Studio 使用。 |
Utf8Output |
可选 Boolean 参数。 使用 UTF-8 编码记录编译器输出。有关更多信息,请参见 /utf8output(C# 编译器选项)。 |
WarningLevel |
可选 Int32 参数。 指定编译器要显示的警告等级。有关更多信息,请参见 /warn(C# 编译器选项)。 |
WarningsAsErrors |
可选 String 参数。 指定将被视为错误的警告的列表。有关更多信息,请参见 /warnaserror(C# 编译器选项)。 此参数重写 TreatWarningsAsErrors 参数。 |
WarningsNotAsErrors |
可选 String 参数。 指定不被视为错误的警告的列表。有关更多信息,请参见 /warnaserror(C# 编译器选项)。 只有当 TreatWarningsAsErrors 参数设置为 true 时,此参数才有用。 |
Win32Icon |
可选 String 参数。 插入.ico文件程序集中,则输出文件在文件Explorer所需的外观。有关更多信息,请参见 /win32icon (C# 编译器选项)。 |
Win32Manifest |
可选 String 参数。 指定要包含的 Win32 清单。 |
Win32Resource |
可选 String 参数。 在输出文件中插入 Win32 资源文件 (.res)。有关更多信息,请参见 /win32res(C# 编译器选项)。 |
备注
除了上面列出的参数,此任务还将从 Microsoft.Build.Tasks.ManagedCompiler 类继承参数,该类从 ToolTaskExtension 类继承,后者本身又从 ToolTask 类继承。有关这些附加参数及其说明的列表,请参见 ToolTaskExtension 基类。
示例
下面的示例使用 Csc 任务基于 Compile 项集合中的源文件编译一个可执行文件。
<CSC
Sources="@(Compile)"
OutputAssembly="$(AppName).exe"
EmitDebugInformation="true" />