2012-01-27 7 views
13

私はTFSサーバー上に構築されたソリューションを持っています。このソリューションには、カスタムMSBuildタスクを持ついくつかのプロジェクトが含まれています。これらのタスクは、実際にはいくつかのzipアーカイブを作成します。プロジェクトのMSBuildタスクにTFS変数を渡す方法

TFSビルドから何とか$(Rev)マクロを抽出し、タスクに渡す必要があります。私は、ビルド定義のプロセス]タブでMSBuildArgumentsを使用しようと、私はのような単純な文字列値を設定したときにそれが動作します:

/P:バージョン=「5」

が、それは、マクロでは動作しません。 :

/P:バージョン= "$(REV:r)は"

enter image description here

あなたが任意のアイデアを持っていますか?

編集:実際にはBuildDetail.BuildNumberが必要でした。

+0

私はそれらがマクロであると思いますか? –

+0

ええと、私はちょうどマクロと呼ばれると思った。ビルド番号の形式を確認してください。これは、これらのマクロで構築されています。私が間違っている?私はTFSの初心者です。 –

+0

はい、一般的ではありません。ビルド番号の形式は、ビルド番号に固有のものです。 –

答えて

14

これを達成するために、ビルドプロセステンプレートを少し変更することができます。
デフォルトのMSBuildに関連するセクションでは、次のようになります。あなたは今、(自分の絵に似て)ビルド定義の「MSBuildの引数」でのようなものを入力した場合
enter image description here

:これは、このようなものに拡張することができる
enter image description here
/p:Version=RePlAcE、必要なものを手に入れてください。

これを必要としない別のビルド定義では、単にエントリを空のままにしておきます。このアプローチは、hereの代わりのものであり、このバージョンの挿入がそれを消費するすべてのビルド定義に対して明示的に望ましくない場合に選択する必要があります。

+0

はい、ありがとうございます。私はすでにまったく同じことをした –

関連する問題