【问题标题】:Cannot use “Precompile during publishing” website when uncheck "Allow precompiled site to be updatable"取消选中“允许预编译站点可更新”时无法使用“发布期间预编译”网站
【发布时间】:2018-01-22 08:53:30
【问题描述】:

我正在尝试发布我的网络应用程序。 这是我的发布配置文件设置的图片:

如您所见,我选中了“发布期间预编译”选项。

这是“发布期间预编译”的配置设置。

我取消选中“允许预编译的站点可更新”选项。

使用上述设置发布时出现错误。

错误 ASPPARSE:未知的服务器标记“uc1:ctrlAbcxyz”。

请提供解决方案或如何解决此问题。 P/S:取消选中“允许预编译站点可更新”选项是必需的。

更新:我按照@Sunil 推荐更改了预编译设置:

但我仍然收到错误:> 错误 ASPPARSE: Unknown server tag 'uc1:ctrlAbcxyz'。

【问题讨论】:

  • 您是否尝试重新构建您的 Web 应用程序以查看是否存在任何编译错误?如果出现编译错误,您将无法发布。
  • @Sunil:当我重建我的网络应用程序时,它是成功的,没有错误。
  • 尝试使用允许预编译站点可更新选项?
  • @Sunil:如果我勾选了允许预编译的站点可更新选项,它可以正常工作,但我想在不更新的情况下进行编译。
  • 您不能允许使用单个程序集更新站点。可更新站点意味着您可以通过部署单个页面来更改页面标记。

标签: asp.net publishing precompile


【解决方案1】:

您不应选择最后一个合并选项,该选项仅在网络应用程序可根据以下文档更新时使用:Publish dialog documentation at MSDN

将所有页面和控制输出合并到一个程序集中 此设置对应于 aspnet_merge.exe 命令的 -w assemblyname 选项。

此选项使您可以单独更新 UI 元素 其他代码。特殊文件夹,例如 App_Code、App_WebReferences 和 依此类推,每个都编译成一个单独的程序集。指定目标 程序集名称框中的程序集名称。

您应该选择将所有输出合并到一个程序集中的选项。

【讨论】:

  • 你的意思是,我应该选择第三个选项:“将所有输出合并到一个程序集中”,对吧?
  • 我更改为该选项,但我收到另一个错误:未定义类型'System.Web.UI.HtmlControls.HtmlIframe'。当我使用 iframe 控件 n 用户控件时。
  • 那是编译错误。尝试重建您的项目并确保在重建结束时没有错误。
  • 重建全部成功,0失败,0跳过。但是直到发生错误。
  • 你使用的是什么 Visual Studio 版本?
猜你喜欢
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多