如何从MsBuild找到tf.exe的路径

30

我有一个 MsBuild 文件,其中使用 tf.exe 与 TFS 进行一些操作。不幸的是,tf.exe 文件安装在开发人员的电脑和构建服务器的不同位置。

我真的需要一种在我的脚本中检测 tf.exe 文件位置的方法,就像可以使用 $(MSBuildExtensionsPath32) 等方式一样。这可能吗?

一如既往,感谢您的帮助 :)

2个回答

41

环境变量VS100COMNTOOLS是否指向Visual Studio的正确路径? 例如: VS100COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\

那么你所需要的就是$(VS100COMNTOOLS)..\IDE。

<Target Name="Build">
   <Exec Command="&quot;$(VS100COMNTOOLS)..\IDE\tf.exe&quot;"/>
</Target>

或者您可以按照自己的方式整理它。

环境变量根据 Visual Studio 版本而变化:

  • %VS110COMNTOOLS% - Visual Studio 2012
  • %VS120COMNTOOLS% - Visual Studio 2013
  • %VS140COMNTOOLS% - Visual Studio 2015

1
不确定发生了什么变化,但我的tf.exe文件不在Tools文件夹中,而是在IDE文件夹中。 - Ben
这是我的位置。C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE - sam yi
这是从该语句获取的路径。因此是 ..\ide 部分。 - James Woolfenden
1
注意:自VS2017(至少某些版本)起,默认情况下不再存在此环境变量,详见https://github.com/Microsoft/vsts-vscode/issues/269。但是,您可以通过运行以下命令来创建`VS150COMNTOOLS`:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/how-to-set-environment-variables-for-the-visual-studio-command-line - JohnLBevan

15

看起来他们在Visual Studio 2017中又改变了位置。 在我的机器上以上任何一个位置都没有找到。

我在这里发现了TF.exe:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

(有些用户可能会在Professional文件夹中找到,而不是Enterprise文件夹: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe)

显然,在VS 2017中环境变量默认不再设置


2
同样地,对我来说它是 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe" ... 然而,Rider 表示 "指定的路径未导向有效的 TF 可执行文件"。 - Mikal Madsen
@MikalMadsen +1 同样的问题 - Michal Ciechan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接