AspNetCompiler 任务

AspNetCompiler 任务包装 aspnet_compiler.exe ,它是预编译 ASP.NET 应用程序的实用工具。

任务参数

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

参数 说明
AllowPartiallyTrustedCallers 可选 Boolean 参数。

如果此参数为 true,则具有强名称的程序集将允许部分信任的调用方。
Clean 可选的 Boolean 参数

如果此参数为 true,则将以全新方式生成预编译的应用程序。 将重新编译任何之前编译的组件。 默认值为 false。 此参数对应于 aspnet_compiler.exe 上的 -c 开关 。
Debug 可选 Boolean 参数。

如果此参数为 true,则将在编译期间发出调试信息(.PDB 文件)。 默认值为 false。 此参数对应于 aspnet_compiler.exe 上的 -d 开关 。
DelaySign 可选 Boolean 参数。

如果此参数为 true,则该程序集在创建后未完全签名。
FixedNames 可选 Boolean 参数。

如果此参数为 true,则编译的程序集将拥有固定的名称。
Force 可选的 Boolean 参数

如果此参数为 true,则任务将覆盖目标目录(如果已存在)。 现有内容将丢失。 默认值为 false。 此参数对应于 aspnet_compiler.exe 上的 -f 开关 。
KeyContainer 可选 String 参数。

指定强名称密钥容器。
KeyFile 可选 String 参数。

指定强名称密钥文件的物理路径。
MetabasePath 可选 String 参数。

指定应用程序的完整 IIS 元数据库路径。 此参数不能与 VirtualPathPhysicalPath 参数合并。 此参数对应于 aspnet_compiler.exe 上的 -m 开关 。
PhysicalPath 可选 String 参数。

指定要编译的应用程序的物理路径。 如果缺少此参数,则将使用 IIS 元数据库查找该应用程序。 此参数对应于 aspnet_compiler.exe 上的 -p 开关 。
TargetFrameworkMoniker 可选 String 参数。

指定 TargetFrameworkMoniker,它指示应使用的 aspnet_compiler.exe 的 .NET Framework 版本 。 仅接受 .NET Framework 名字对象。
TargetPath 可选 String 参数。

指定将应用程序编译到的物理路径。 如果未指定,则将就地预编译应用程序。
Updateable 可选 Boolean 参数。

如果此参数为 true,则预编译的应用程序将为可更新。 默认值为 false。 此参数对应于 aspnet_compiler.exe 上的 -u 开关 。
VirtualPath 可选 String 参数。

要编译的应用程序的虚拟路径。 如果指定 PhysicalPath,则物理路径将用于查找应用程序。 否则,将使用 IIS 元数据库,并假定应用程序位于默认站点中。 此参数对应于 aspnet_compiler.exe 上的 -v 开关 。

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 时,此任务会在其任务执行时生成节点。

示例

以下代码示例使用 AspNetCompiler 任务预编译 ASP.NET 应用程序。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="PrecompileWeb">
        <AspNetCompiler
            VirtualPath="/MyWebSite"
            PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
            TargetPath="c:\precompiledweb\MyWebSite\"
            Force="true"
            Debug="true"
        />
    </Target>
</Project>

请参阅