“高级预编译设置”对话框

高级设置预编译 对话框可以指定 Web 应用程序如何预编译或程序集合并。

本主题适用于以下产品:

若要访问此对话框

  1. 在Visual Studio中,打开一个 Web 应用程序项目。

  2. 右击" 解决方案资源管理器 的项目名称并选择 属性 (C#)或 MyProject (Visual Basic)显示 属性 页。

  3. 选择 打包/发布 Web 选项。

  4. 要部署的项(适用于所有部署方法) 部分中,选择 在发布之前预编译此应用程序 选项。

  5. 单击**“高级”**。

    Advanced_Precompile_Settings_dialog_box

备注

在此对话框中输入的设置是您在 打包/发布 Web 选项卡上输入设置的一部分。它们仅适用于 打包/发布 Web 选项的生成配置,当您单击 高级 按钮时。

UI 元素

有关字段定义引用,请参见和 ASP.NET编译工具(aspnet compiler.exe) aspnet_compiler.exe的选项的更多信息。ASP.NET合并工具(Aspnet_merge.exe)

  • 为源输入使用IIS元数据库路径
    此设置对应于aspnet_compiler.exe命令的 -m 选项。 例如,元数据库路径可能是/IISExpress/7.5/LM/W3SVC/2/ROOT/MyWeb/,其中 MyWeb 是虚拟目录。

    如果您的网站包含一个或多个子Web站点,此设置非常有用的。 在编译时,编译器处理在目录树中的所有文件。 如果具有子Web站点,这将导致编译错误。 若要避免这些错误,您可以指定生成,使ASP.NET编译器跳过IIS元数据库定义的所有子Web站点网站的IIS元数据库路径。

  • 允许预编译站点是可更新的
    此设置对应于aspnet_compiler.exe命令的 –u 选项。

    如果选择此选项、页和用户控件(.aspx、.ascx和.master文件)按原样复制到目标文件夹中,并且可以将更新为文本文件,而无需重新编译项目。 否则,页和用户控件的HTML标记中移除并编译到程序集中输出。

  • 将所有输出为单个程序集
    此设置与aspnet_merge.exe命令的 -oassemblyname 选项等效。

  • 将库元素(删除App_Code.compiled文件
    此设置对应于aspnet_merge.exe命令的 -r 选项。

    选择此选项在另一个网站使项目的App_Code.dll程序集添加到另一个网站Bin文件夹,而无需相冲突。App_Code.dll程序集。 对于构造.ascx控件库很有用。

  • 将每个单独文件夹输出到其自己的程序集
    此设置对应于aspnet_merge.exe命令的 -prefixprefixname 选项。

    使用此选项可以更新您的网站位于文件夹级别而不是更新整个应用程序。 可以使用 选项程序集标题 框中指定将前面添加到所有生成的程序集名称的标题。 例如,因此,如果指定前缀MyCompany,该名称是MyCompany。SubfolderName。

  • 将所有页和控件输出为单个程序集
    此设置对应于aspnet_merge.exe命令的 –wassemblyname 选项。

    使用此选项可以分别更新UI组件与更新其他代码。 特殊文件夹(如App_Code,App_WebReferences,依此类推是每个编译到一个单独的程序集。 指定目标程序集名称。程序集名称 框。

  • 不要合并。每个页分别创建一个单独的程序集和控件输出
    此设置不运行aspnet_merge.exe。 相反,它使用aspnet_compiler.exe命令的 -fixednames 选项。

    如果要进行精细更新部署的网站,该选项非常有用。 但是,编译 -fixednames 选项禁用编译器的批处理优化,并可能导致长大型网站的生成时间。

  • 不要合并
    此设置不运行aspnet_merge.exe,而不使用aspnet_compiler.exe命令的 -fixednames 选项。

请参见

参考

项目属性 ->“包”/“发布 Web”选项卡

概念

用于 Visual Studio 和 ASP.NET 的 Web 应用程序项目部署概述