我在csproj文件中有通常的TransformXml任务来应用一些web.config转换。
<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构建代理上构建时调用吗?
答案 0 :(得分:1)
通过向目标添加已知属性的条件很容易,遗憾的是,属性因TFS版本和构建类型(XAML与vNext)而异。
2013年TFS
<Target Name="TransformWebConfig" Condition="$(TF_BUILD) != ''">
vNext
<Target Name="TransformWebConfig" Condition="$(AGENT_ID) != ''">
或者您可以撤消并检查是否在VS中运行
<Target Name="TransformWebConfig" Condition="$(BuildingInsideVisualStudio) != 'true'">
列出了TFS变量http://redis.io/和BuildingInsideVisualStudio
here。