ClickOnce发布XAML浏览器应用程序怎么没有publish.htm文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ClickOnce发布XAML浏览器应用程序怎么没有publish.htm文件相关的知识,希望对你有一定的参考价值。

UC浏览器,功能多,但是耗电。QQ浏览器轻便。360浏览器安全。看你自己的选择了。 参考技术A UC浏览器,QQ浏览器,还有chrome浏览器都不错

MSBuild 未生成发布网页 (ClickOnce)

【中文标题】MSBuild 未生成发布网页 (ClickOnce)【英文标题】:MSBuild is not generating publish web page (ClickOnce) 【发布时间】:2013-09-25 17:27:13 【问题描述】:

我遇到的问题是,当我通过 MSBuild (4.0) 发布 ClickOnce 应用程序时,publish.htm(或 default.htm)未在 app.publish 文件夹中创建。

当通过 Visual Studio 发布时,它会被装箱...

在我的 .csproj 文件中,我设置了以下属性,但它仍然无法正常工作...

<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>default.htm</WebPage>

有什么想法吗?

谢谢

【问题讨论】:

codemonkeyking.blogspot.com/2009/04/…这是有人声称这是解决方案,然后发现它不是 【参考方案1】:

我找到了一个很好的解决方案here。您可以使用带有 VERSION 占位符的 publish.htm 模板。 FileUpdate 任务需要MSBuild Community Tasks。

BUILD_VERSION - 环境变量,由我的构建脚本设置。 PublishDir 属性在 msbuild 的参数中设置。

  <!-- .... -->

  <Target Name="DoPublish">
    <MSBuild Projects="$(ProjectFileName)" Targets="Publish" Properties="ApplicationVersion=$(BUILD_VERSION)" />
    <!-- Write publish.htm file for ClickOnce -->
    <Copy SourceFiles="$(ProjectDir)\publish.htm" DestinationFiles="$(PublishDir)\publish.htm"/>
    <FileUpdate Files="$(PublishDir)\publish.htm"
                IgnoreCase="true"
                Multiline="true" 
                Singleline="false"
                Regex="VERSION" 
                ReplacementText="$(BUILD_VERSION)"/>
  </Target>

</Project>

【讨论】:

我会在下一个项目中测试它,但它似乎是一个非常好的解决方案。谢谢。【参考方案2】:

我使用的是 Visual Studio 2015,但在其他方面出现了听起来相同或相似的问题。解决方案是在 Visual Studio 中打开项目文件的属性 > 转到“发布”设置,然后在右侧窗格中单击 Options...。这将打开“发布选项”对话框。选择“部署”,如果您看到“部署网页”为空(我的是),则输入“publish.htm”。然后,您应该能够选中“每次发布后自动生成部署网页”(您需要选中此项)。单击确定 关闭对话框,然后重新发布。您的“publish.htm”文件现在应该出现了。

【讨论】:

它仅适用于通过 Visual Studio 发布。但是如果你use command line就不行了。

以上是关于ClickOnce发布XAML浏览器应用程序怎么没有publish.htm文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IE 以外的其他浏览器中将 URL 参数传递给 ClickOnce 应用程序?

使用 CEFSharp Web 浏览器的 WPF 应用程序在 clickonce 版本中崩溃

如何将 xaml 模板打包成 nuget 包以供其他开发人员重用?

ClickOnce 完成卸载

Clickonce 下载更新 值不在预期范围内问题!

尝试在 Visual Studio 中使用 SHA256 对程序集进行签名时出错