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 版本中崩溃