MSBuild未生成发布网页(ClickOnce)

And*_*rey 10 .net c# msbuild clickonce publish

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

通过Visual Studio发布时,它会被创建...

在我的.csproj文件中,我设置了以下属性,但它仍然无效...

<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>default.htm</WebPage>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢

Der*_*ter 3

在这里找到了一个很好的解决方案。您可以使用包含{VERSION}占位符的publish.htm 模板。FileUpdate 任务需要MSBuild 社区任务。

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>
Run Code Online (Sandbox Code Playgroud)