13

MSBuild (4.0) を使用して ClickOnce アプリケーションを発行すると、app.publish フォルダーにpublish.htm (または default.htm) が作成されないという問題に直面しています。

Visual Studio を介して公開すると、クレートされます...

私の .csproj ファイルには、次のプロパティが設定されていますが、まだ機能していません...

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

何か案は?

ありがとう

4

2 に答える 2

3

ここで良い解決策を見つけました。内部に{VERSION}プレースホルダーを含む publish.htm のテンプレートを使用できます。FileUpdate タスクには、 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>
于 2014-11-06T23:23:13.863 に答える