2016-05-20 11 views
0

私は通常のTransformXmlタスクをcsprojファイルにいくつかのweb.config変換を適用しています。MsBuild TransformXmlタスク| TFSビルドエージェントのみをターゲットにする方法

<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll" /> 
    <Target Name="TransformWebConfig"> 
    <TransformXml Source="$(ProjectDir)\Web.config" Transform="$(ProjectDir)\Web.$(WebConfigReplacement).config" Destination="$(ProjectDir)\Web.config" StackTrace="true" /> 
    </Target> 

しかし、このタスクはTFSビルドエージェントのビルドでのみ呼び出されるように条件を設定できますか?

答えて

1

既知のプロパティの条件をターゲットに追加することは簡単です。悲しいことに、プロパティはTFSのバージョンとビルドのタイプ(XAMLとvNext)によって異なります。

TFS 2013

<Target Name="TransformWebConfig" Condition="$(TF_BUILD) != ''">

vNext

<Target Name="TransformWebConfig" Condition="$(AGENT_ID) != ''">

か、逆にして、VSで実行するかどうかを確認することができます

<Target Name="TransformWebConfig" Condition="$(BuildingInsideVisualStudio) != 'true'">

TFSのVARアイブルはとBuildingInsideVisualStudiohereと記載されています。

+0

ありがとう、良い情報 - TFSの既知のプロパティに関する公式のドキュメントはありますか。 – divinci

+1

回答済みのリンクを追加 –

関連する問題