ASP.NET 编译工具 (Aspnet_compiler.exe)

ASP.NET 编译工具 (Aspnet_compiler.exe) .NET Framework 2.0 其他版本 .NET Framework 4 .NET Framework 3.5 利用 ASP.NET 编译工具 (Aspnet_compiler.exe) 可以就地编译 ASP.NET Web 应用程序,也可以为部署到某个目标位置(例如成品服务器)编译 ASP.NET Web 应用程序。就地编译有助于提高应用程序的性能,因为在编译应用程序的过程中,最终用户可以避免第一次请求应用程序而导致的延迟。 可以通过以下两种方法之一执行用于部署的编译:一种方法移除所有源文件,例如代码隐藏文件和标记文件;另一种方法保留标记文件。 注意 早于 ASP.NET 2.0 版的 ASP.NET 版本中没有 ASP.NET 编译工具。 复制 aspnet_compiler [-?] [-m metabasePath | -v virtualPath [-p physicalPath]] [[-u] [-f] [-d] [-fixednames] targetDir] [-c] [-errorstack] [-nologo] [-keyfile file | -keycontainer container ] [-aptca] [-delaysign]] 选项 -------------------------------------------------------------------------------- 选项 说明 -m metabasePath 指定要编译的应用程序的完整 IIS 元数据库路径。IIS 元数据库是用于配置 IIS 的分层信息存储区。例如,默认 IIS 网站的元数据库路径是 LM/W3SVC/1/ROOT。 此选项不能与 -v 选项或 -p 选项一起使用。 -v virtualPath 指定要编译的应用程序的虚拟路径。 如果还指定了 -p,则使用伴随的 physicalPath 参数的值来定位要编译的应用程序。否则,将使用 IIS 元数据库,并且此工具假定源文件位于默认网站(在 LM/W3SVC/1/ROOT 元数据库节点中指定)中。 此选项不能与 -m 选项一起使用。 -p physicalPath 指定包含要编译的应用程序的根目录的完整网络路径或完整本地磁盘路径。如果未指定 -p,则使用 IIS 元数据库来查找目录。 此选项必须与 -v 选项一起使用,不能与 -m 选项一起使用。 -u 指定 Aspnet_compiler.exe 应创建一个预编译的应用程序,该应用程序允许对内容(例如 .aspx 页)进行后续更新。 如果省略该选项,生成的应用程序将仅包含编译的文件,而无法在部署服务器上进行更新。只能通过更改源标记文件并重新编译来更新应用程序。 必须包括参数 targetDir。 -f 指定该工具应该改写 targetDir 目录及其子目录中的现有文件。 -d 重写应用程序源配置文件中定义的设置,强制在编译的应用程序中包括调试信息。否则,将不会发出调试输出。 不能将 -d 选项用于就地编译;就地编译使用调试选项的配置设置。 targetDir 将包含编译的应用程序的根目录的网络路径或本地磁盘路径。如果未包括 targetDir 参数,则就地编译应用程序。 -c 指定应完全重新生成要编译的应用程序。已经编译的组件将重新进行编译。如果省略此选项,该工具将仅生成应用程序中自上次执行编译以来被修改的那些部分。 -errorstack 指定该工具应在未能编译应用程序时包括堆栈跟踪信息。 -keyfile file 指定应该将 AssemblyKeyFileAttribute(指示包含用于生成强名称的公钥/私钥对的文件名)应用于编译好的程序集。 此选项必须与 -aptca 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。 -keycontainer container 指定应该将 AssemblyKeyNameAttribute(指示用于生成强名称的公钥/私钥对的容器名)应用于编译好的程序集。 此选项必须与 -aptca 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。 -aptca 指定应该将 AllowPartiallyTrustedCallersAttribute(允许部分受信任的调用方访问程序集)应用于 Aspnet_compiler.exe 生成的具有强名称的程序集。 此选项必须与 -keyfile 或 -keycontainer 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。 -delaysign 指定应该将 AssemblyDelaySignAttribute(指示应该只使用公钥标记对程序集进行签名,而不使用公钥/私钥对)应用于生成的程序集。 此选项必须与 -keyfile 或 -keycontainer 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。 -fixednames 指定应该为应用程序中的每一页生成一个程序集。每个程序集的名称使用原始页的虚拟路径,除非此名称超过操作系统的文件名限制。如果超过限制,将生成一个哈希值,并将其用于程序集名称。 不能将 -fixednames 选项用于就地编译;就地编译使用编译批处理模式的配置设置。 -nologo 取消显示版权信息。 -? 显示该工具的命令语法和选项。 备注 -------------------------------------------------------------------------------- 可以通过以下两种常用方式来使用 ASP.NET 编译工具:就地编译和为部署进行的编译,后者需要指定目标输出目录。下面的几节将介绍这些方案。 就地编译应用程序 -------------------------------------------------------------------------------- ASP.NET 编译工具可以就地编译应用程序,也就是说,它模仿对应用程序发出多个请求的行为,从而导致进行常规编译。预编译站点的用户将不会遇到应第一次请求编译页面而导致的延迟。 就地预编译站点时,请注意下列事项: 站点将保留它的文件和目录结构。 服务器上必须具有供此站点使用的所有编程语言的编译器。 如果任何文件编译失败,整个站点的编译将失败。 还可以在向应用程序添加新的源文件之后就地重新编译应用程序。除非包括 -c 选项,否则该工具仅编译新文件和更改过的文件。 注意 编译包含嵌套应用程序的应用程序时,不会编译嵌套应用程序。必须单独编译嵌套应用程序。 为进行部署编译应用程序 -------------------------------------------------------------------------------- 通过指定 targetDir 参数来编译应用程序以进行部署(编译到某个目标位置)。targetDir 可以是 Web 应用程序的最终位置;也可以进一步部署编译好的应用程序。 使用 -u 选项将以下面的方式编译应用程序:可以对编译好的应用程序中的某些文件做出更改,而无需重新编译该应用程序。Aspnet_compiler.exe 区分静态和动态文件类型之间的不同,并在创建生成的应用程序时,以不同的方式对它们进行处理。 静态文件类型是指那些没有关联的编译器或生成提供程序的文件类型,例如具有 .css、.gif、.htm、.html、.jpg、.js 等扩展名的文件。这些文件只是复制到目标位置,并且在保留的目录结构中保持它们的相对位置。 动态文件类型是指那些具有关联的编译器或生成提供程序的文件类型,包括具有 ASP.NET 特定文件扩展名(如 .asax、.ascx、.ashx、.aspx、.browser、.master 等等)的文件。ASP.NET 编译工具从这些文件生成程序集。如果省略 -u 选项,该工具还会创建具有文件扩展名 .COMPILED 的文件,这些文件将原始源文件映射到它们的程序集。为确保保留应用程序源的目录结构,该工具在目标应用程序的相应位置中生成占位符文件。 必须使用 -u 选项,以指示可以修改编译好的应用程序的内容。否则,将忽略后续修改或者导致运行时错误。 下表描述了在包括 -u 选项的情况下,ASP.NET 编译工具是如何处理不同的文件类型的。 文件类型 编译器操作 .ascx、.aspx、.master 这些文件被拆分为标记和源代码,其中包括代码隐藏文件和包含在
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值