如何:使用 ASP.NET 编译工具生成固定名称

更新:2007 年 11 月

ASP.NET 编译工具 (Aspnet_compiler.exe) 使用编译时生成并在每次后续编译时重新生成的程序集名称。这些生成的程序集名称很适合作为整体部署的网站;但是它们不太适合需要向网站的特定部分发布更新而不重新部署整个网站的网站。

可以使用 ASP.NET 编译工具的 -fixednames 开关生成固定程序集名称。当使用 -fixednames 开关时,ASP.NET 编译工具将执行以下任务:

  • 为应用程序中的每个 .aspx 页创建一个程序集。应该限制应用程序中的页数以减少生成的程序集数量。

  • 使用页的虚拟路径作为页的程序集的名称。如果虚拟路径长度超过操作系统的文件名长度限制,该工具将改为使用虚拟路径的哈希。

  • 将顶层目录(如 App_Code 目录)中的文件编译为单个程序集(类似默认编译)。

本主题中的过程使用 Aspnet_compiler.exe 的开关和参数。有关此工具的更多信息,请参见 ASP.NET 编译工具 (Aspnet_compiler.exe)

有关预编译的更多信息,请参见 ASP.NET 网站预编译

使用固定程序集名称编译网站

  1. 打开一个命令窗口并定位到包含 .NET Framework 的文件夹。

    .NET Framework 将安装在以下位置。

    %windir%\Microsoft.NET\Framework\version
    
  2. 通过在命令提示符处键入以下内容来运行 aspnet_compiler 命令。

    aspnet_compiler -v virtualPathtargetPath -fixednames
    

    virtualPath 参数指示网站的 Internet 信息服务 (IIS) 虚拟路径。targetPath 参数是目标目录的物理路径。

    如果您的网站不是 IIS 应用程序,并因此在 IIS 元数据库中没有项,则在命令提示符处键入以下内容。

    aspnet_compiler -p physicalOrRelativePath -v / targetPath -fixedNames
    

    在这种情况下,physicalOrRelativePath 参数是指网站文件所在的完全限定目录路径,或者相对于当前目录的路径。在 physicalOrRelativePath 参数中允许使用句点 (.) 运算符。-v 开关指定一个根目录,编译器将使用该目录来解析应用程序根目录引用,例如,用代字号 (~) 运算符。当您为 -v 开关指定值 / 时,编译器将使用物理路径作为根目录来解析路径。

    targetPath 参数是目标目录的物理路径。

请参见

任务

如何:预编译 ASP.NET 网站以进行部署

其他资源

ASP.NET 网站预编译