MSBuild 未生成发布网页 (ClickOnce)

本文关键字:网页 ClickOnce 布网页 未生 MSBuild | 更新日期: 2023-09-27 18:32:51

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

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

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

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

有什么想法吗?

谢谢

MSBuild 未生成发布网页 (ClickOnce)

我在这里找到了一个很好的解决方案。可以使用模板进行发布.htm其中包含 {VERSION} 占位符。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>

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