取消选中“允许预编译站点可更新”时无法使用“发布期间预编译”网站

Posted

技术标签:

【中文标题】取消选中“允许预编译站点可更新”时无法使用“发布期间预编译”网站【英文标题】: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:如果我勾选了允许预编译的站点可更新选项,它可以正常工作,但我想在不更新的情况下进行编译。 您不能允许使用单个程序集更新站点。可更新站点意味着您可以通过部署单个页面来更改页面标记。 【参考方案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 版本?

以上是关于取消选中“允许预编译站点可更新”时无法使用“发布期间预编译”网站的主要内容,如果未能解决你的问题,请参考以下文章

我无法使用此代码取消选中复选框

无法在 chrome 上的移动视图中取消选中复选框输入 [重复]

下拉设置为 0 时无法取消选中复选框

Laravel 无法取消选中使用 old 并设置默认值的复选框

JQuery .prop 功能无法取消选中复选框

如何使用 jQuery Uniform 库取消选中复选框