4

いくつかの Subversion Externals が定義されている Subversion でプロジェクトをセットアップしています。これらの Subversion 外部は、他のプロジェクトを参照します。

Subversion レイアウトの例:

  1. レポ/Project1/トランク
  2. レポ/Project2/トランク

チェックアウト レイアウトの例:

  1. $WorkingDir\Project1\trunk
  2. $WorkingDir\Project1\trunk\Lib\Project2

TeamCity では、AssemblyInfo Patcher ビルド機能をビルド構成にアタッチできますが、Externals を除外することはできないようです。Externals は個別のプロジェクトであるため、アセンブリ バージョンを保持するか、AssemblyInfo で別のパターンでパッチを適用したいと考えています。

現時点では、私のビルド構成は完全な Subversion Externals サポートで Project1 をチェックアウトしてから、AssemblyInfo パッチャーを適用するため、私の Project1 アセンブリと Project2 アセンブリはすべて同じアセンブリ バージョンを持っています。

Project1 アセンブリを Project2 アセンブリとは異なるバージョンにする方法はありますか?

4

3 に答える 3

6

現在、除外するディレクトリを提供する方法はありません。

TeamCity docsによると、AssemblyInfo Patcher は、何かがビルドされる前に、見つかったすべての AssemblyInfo ソース ファイル (AssemblyInfo.cs、AssemblyInfo.vb など) のAssemblyVersionとの値のみを更新し、AssemblyFileVersion 既存のコンパイル済みバイナリのバージョンを変更しません。

あなたが言及した外部は、単なるバイナリですか、それともすべてを含めていますかProject2(バイナリ、プロジェクト ファイル、ソース コードなど)? バイナリを含めるだけです。

AssemblyInfo パッチャーが要件を満たさない場合は、手動で (別の MSBuild スクリプトを使用するなどして) 手動で実行し、更新する AssemblyInfo ファイルを検索するときに外部ディレクトリを除外する必要があります。

于 2012-03-07T23:03:54.673 に答える
2

TeamCity 9.1 以降、新しいFile Content Replacer機能があります。これにより、テキスト置換を実行するファイルに一致するパターンを指定できます。

JetBrains は、AssemblyInfo パッチャーの代わりにこれを使用することを推奨しています

于 2016-10-11T00:40:06.657 に答える