SGen 任务

创建指定程序集中的类型的 XML 序列化程序集。 此任务将包装 XML 序列化程序生成器工具 (Sgen.exe) 。 有关详细信息,请参阅 XML 序列化程序生成器工具 (Sgen.exe)

参数

下表描述了 SGen 任务的参数。

参数 描述
BuildAssemblyName 必选 String 参数。

要为其生成序列化代码的程序集。
BuildAssemblyPath 必选 String 参数。

要生成序列化代码的程序集的路径。
DelaySign 可选 Boolean 参数。

如果为 true,则指定仅需要将公钥放在程序集中。 如果为 false,则指定需要完全签名的程序集。

此参数无任何效果,除非与 KeyFileKeyContainer 参数配合使用。
KeyContainer 可选 String 参数。

指定保存密钥对的容器。 这样将会通过将公钥插入程序集清单来对程序集签名。 然后,此任务使用私钥对最终程序集进行签名。
KeyFile 可选 String 参数。

指定要用于对程序集进行签名的密钥对或公钥。 编译器在程序集清单中插入公钥,然后使用私钥对最终的程序集进行签名。
Platform 可选 String 参数。

获取或设置用于生成输出程序集的编译器平台。 此参数可以具有 x86x64anycpu 的值。 默认值为 anycpu
References 可选 String[] 参数。

指定由需要 XML 序列化的类型引用的程序集。
SdkToolsPath 可选 String 参数。

指定 SDK 工具(例如 resgen.exe)的路径 。
SerializationAssembly 可选的 ITaskItem[] 输出参数。

包含生成的序列化程序集。
SerializationAssemblyName 可选 String 参数。

指定生成的序列化程序集的名称。
ShouldGenerateSerializer 必选 Boolean 参数。

如果为 true,则 SGen 任务应生成序列化程序集。
Timeout 可选 Int32 参数。

指定终止任务可执行文件之前的时间量(以毫秒为单位)。 默认值是 Int.MaxValue,指示没有超时期限。
ToolPath 可选 String 参数。

指定任务从中加载基础可执行文件 (sgen.exe) 的位置 。 如果未指定此参数,则任务会使用与运行 MSBuild 的框架版本对应的 SDK 安装路径。
Types 可选 String[] 参数。

获取或设置要为其生成序列化代码的特定类型的列表。 SGen 将仅生成这些类型的序列化代码。
UseProxyTypes 必选 Boolean 参数。

如果为 true,则 SGen 任务仅生成 XML Web service 代理类型的序列化代码。

ToolTaskExtension 参数

此任务继承自 ToolTaskExtension 类,该类继承自 ToolTask 类,后者本身继承自 Task 类。 此继承链向从它们派生的任务添加了几个参数。

下表介绍基类的参数:

参数 说明
EchoOff 可选 bool 参数。

设置为 true 时,此任务会将 /Q 传递到 cmd.exe 命令行,以便命令行不会复制到 stdout。
EnvironmentVariables 可选的 String 数组参数。

环境变量定义的数组,用分号分隔。 每个定义都应指定用等号分隔的环境变量名称和值。 这些变量会传递到生成的可执行文件以及(有选择地重写)常规环境块。 例如,Variable1=Value1;Variable2=Value2
ExitCode 可选 Int32 输出只读参数。

指定执行的命令提供的退出代码。 如果任务记录了任何错误,但进程的退出代码为 0(成功),则这设置为 -1。
LogStandardErrorAsError 可选 bool 参数。

如果是 true,则在标准错误流上收到的所有消息都记录为错误。
StandardErrorImportance 可选 String 参数。

用于从标准输出流记录文本的重要性。
StandardOutputImportance 可选 String 参数。

用于从标准输出流记录文本的重要性。
Timeout 可选 Int32 参数。

指定终止任务可执行文件之前的时间量(以毫秒为单位)。 默认值是 Int.MaxValue,指示没有超时期限。 超时以毫秒为单位。
ToolExe 可选 string 参数。

项目可能会实现此参数以重写 ToolName。 任务可能会重写此参数以保留 ToolName。
ToolPath 可选 string 参数。

指定任务从中加载基础可执行文件的位置。 如果未指定此参数,则任务会使用与运行 MSBuild 的框架版本对应的 SDK 安装路径。
UseCommandProcessor 可选 bool 参数。

设置为 true 时,此任务会为命令行创建一个批处理文件,并使用命令处理器执行它(而不是直接执行命令)。
YieldDuringToolExecution 可选 bool 参数。

设置为 true 时,此任务会在其任务执行时生成节点。

请参阅