MSBuild不生成发布网页(ClickOnce) [英] MSBuild is not generating publish web page (ClickOnce)
问题描述
我遇到一个问题,当我通过MSBuild(4.0)发布ClickOnce应用程序时,没有在app.publish文件夹中创建 publish.htm (或default.htm). /p>
通过Visual Studio发布时,它会被创建...
在我的.csproj文件中,我设置了以下属性,但仍然无法正常工作...
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>default.htm</WebPage>
有什么想法吗?
谢谢
我找到了一个很好的解决方案 MSBuild社区任务.
BUILD_VERSION -环境变量,由我的构建脚本设置.在msbuild的参数中设置了 PublishDir 属性.
<!-- .... -->
<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>
I am facing a problem that when I publish my ClickOnce application through MSBuild (4.0), the publish.htm (or default.htm) isn't created in the app.publish folder.
When publishing through Visual Studio, it gets crated...
In my .csproj file I have the following properties set, and it still not working...
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>default.htm</WebPage>
Any ideas?
Thanks
I found a good solution here. You can use a template for publish.htm with {VERSION} placeholder inside. MSBuild Community Tasks are required for the FileUpdate task.
BUILD_VERSION - environment variable, set by my build script. PublishDir property is set in argument for 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>
这篇关于MSBuild不生成发布网页(ClickOnce)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!