5

TFS サーバーに夜間ビルドがあり、毎晩実行され、完全に正常に動作しています。手動で入力する代わりに、ビルドごとに自動的にインクリメントするパブリッシュ バージョン (ApplicationVersion) を除いて、現在正常に動作している clickonce アプリケーションも作成する予定です。言及すべき重要な点は、ビルドごとにリビジョン パーツを 1 ずつ増やしたいということです。たとえば、初回の場合は 1.1.1.1、次のビルドの場合は 1.1.1.2 です。

アセンブリのバージョン管理については多くの情報が利用可能であるため、まったく興味がありません。アプリケーションのバージョンを増やしたいだけなので、この方向に向けてください。

私の VS および TFS サーバーは 2008 です。この場合、projecte-g の InstallUrl を編集するために行うように、ビルド前に公開バージョンを編集する方法はありますか?

<File.RegEx Path="$(BuildDirectory)/Sources/Client/Client/Client.csproj"
      RegularExpression="&lt;InstallUrl&gt;(.*?)&lt;/InstallUrl&gt;"
      NewValue="&lt;InstallUrl&gt;$(InstallUrl)&lt;/InstallUrl&gt;" Force="true"/>

公開バージョンは、

<ApplicationVersion> 
and 
<ApplicationRevision> 

私のシーンでは、次のように定義されています

<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>1.9.4.%2a</ApplicationVersion>

その後

<File.RegEx Path="$(BuildDirectory)/Sources/Client/Client/Client.csproj"
      RegularExpression="&lt;ApplicationRevision&gt;(.*?)&lt;/ApplicationRevision&gt;"
      NewValue="&lt;ApplicationRevision&gt;$(ApplicationRevision)&lt;/ApplicationRevision&gt;" Force="true"/>

    <File.RegEx Path="$(BuildDirectory)/Sources/Client/Client/Client.csproj"
      RegularExpression="&lt;ApplicationVersion&gt;(.*?)&lt;/ApplicationVersion&gt;"
      NewValue="&lt;ApplicationVersion&gt;$(ApplicationVersion)&lt;/ApplicationVersion&gt;" Force="true"/>

ただし、最初の実行後に値がインクリメントされることはありません。最初の実行後、値は常に 1.9.4.1 です。次のビルドのためにインクリメントする方法はありますか? でアプリケーションのリビジョンを試しまし*+1#+1...

4

1 に答える 1

1

まず、TFS サーバーを TFS 2012 に更新する必要があります。これにより、VS2008 のサポートが維持され (TFS 2013 ではサポートされなくなりました)、2008 をサポートしなくなったコミュニティ ツールにアクセスできるようになります。

TFS Community Build Extensionsには、必要なことを行う2 つのカスタム アクティビティがあります。

  • ClickOnce - これにより、ビルドからの clickonce デプロイのマニフェストが更新および構成されます
  • TfsVersion - これにより、バージョン番号が作成され、正しい増分で入力されます

いいえ、TFS 2008 でこれを行う方法はわかりません (自分でロールすることを除いて)。コミュニティでサポートするには古すぎます。

于 2014-05-14T20:04:14.377 に答える