TFS DropLocation

时间:2014-08-12 15:51:35

标签: tfs msbuild tfs2012

我正在尝试在特定项目的MsBuild脚本中获取TFS的drop文件夹位置。

我尝试使用$(DropLocation)属性,但这是空的。在MSBuild脚本中获取TFS使用的drop文件夹位置的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

如果您使用的是TFS 2013,那么您手边有一个很好的TF_BUILD_DROPLOCATION环境变量,您可以像使用任何属性一样使用它。

在2012年及更早版本中,您可以自定义TFS构建模板:选择BuildDetail.DropLocation属性并将值传递给MSBuild。有关详细信息,请参阅How to pass TFS variable to a MSBuild task of the project

使用TF_BUILD_DROPLOCATION作为属性名称,以便在升级到TFS 2013时代码可以正常工作。

答案 1 :(得分:0)

(我在ts2010做过这个,仍然适用于tfs2012) 添加到你的msbuild .proj,就像这样

<Project DefaultTargets="SetEnv" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />

  <PropertyGroup>
    <TeamBuildRefPath Condition="'$(TeamBuildRefPath)'==''">$(PathToMyDevenv)\IDE</TeamBuildRefPath>
  </PropertyGroup>

然后$(DropLocation)会按照您的预期填充。

我觉得你只需要导入,自从我这样做以来已经有一段时间了。

干杯