2016-03-15 30 views
5

VNextビルド定義があり、変数タブにいくつかのカスタム変数が追加されています。私たちは別の変数を参照する変数の値のいずれか、すなわちTFS 2015ビルド変数拡張

FileDescription = $(Build.DefinitionName) 

では(それが「$(Build.DefinitionName)」が含まれている)我々はPowerShellスクリプトでそれを参照するときFILEDESCRIPTION環境変数が存在することが表示されますが、値が展開されていませんしかし、文字列リテラルとして扱われます。

ドキュメントは、我々はそれを参照することができるはずことを示唆しているように見え、それは実行時にsubsitutedされます - https://msdn.microsoft.com/en-us/library/vs/alm/build/scripts/variables

TFSは、実行時に自動的に変数を展開して取得する方法はありますか?

答えて

0

vNextビルドでは、どこでも変数が展開されていないようです。例えば、MSBuild-Argumentsでは、/p:OUTPUT="$(FileDescription)"が/ p:OUTPUT = "(ビルド定義の名前)"に展開されますが、powershellでは"$(Build.DefinitionName)"しか直接出力しません。

次のようにしてください。回避策:対応する生成された環境変数(たとえば、$ env:Build.DefinitionName)を使用してください。

$FileDescription = $env:Build.DefinitionName 

注:パスを変更する必要がある場合は、ビルド変数の代わりにPSスクリプトを変更する必要があります。

関連する問題