使用Visual Studio 2017和TFS Build 2015的工具版本

时间:2018-07-13 20:21:36

标签: visual-studio tfs

我准备开始使用Visual Studio 2017构建新版本。我尚未迁移到仍为XAML的vNext,但计划在尘埃落定后尽快前进。

有一次我以为我会在同一台机器上使用VS 2015和2017,所以我问了一个有关如何区分或告诉TFS Build使用哪个VS版本的问题。有人告诉我将这些MSBuild参数添加到Build Definition ...

/tv:15.0 /p:VisualStudioVersion=15.0

事实证明,该机器将仅使用VS 2017,但我将这些参数留在了Build Definition中。

运行版本时,收到此错误...

  

MSBUILD:错误MSB1040:ToolsVersion无效。工具版本   无法识别“ 15.0”。可用的工具版本为“ 4.0”。开关:   15.0

因此,我删除了/ tv参数,错误消失了。因此,我的问题是,如果没有该参数,将使用哪些工具?工具集TFS或Visual Studio相关吗? v15.0工具集(如果存在)是否是单独的安装?

这是我对此原始讨论的链接,但直到现在我仍无法将其付诸实践...

TFS 2015 XAML Builds with Visual Studio

任何信息,我们将不胜感激!!我只是想更好地了解将来的服务器版本会发生什么。

因此,在第一个响应之后,这里是其他信息。从失败的构建的诊断日志中,我看到了...

MSBuild自动检测:使用来自'C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ bin'的msbuild版本'15 .7.179.6572'。 < / p>

1 个答案:

答案 0 :(得分:0)

您可以单独下载MSBuild 15.0软件包here

此错误将在2种情况下发生

  

MSBUILD:错误MSB1040:ToolsVersion无效。工具版本   无法识别“ 15.0”。可用的工具版本为“ 4.0”。开关:   15.0

  • 在TFS服务器中未安装msbuild 15.0时
  • 您的TFS代理指向错误的MSBuild版本(请参见下图,指向msbuild版本15.0)

enter image description here

解决方案
对于第一种情况,您可以下载msbuild软件包
对于第二个版本,您可以定义自己的环境变量以指向msbuild 15.0版本。

MSDN上有一个similar question可以看到解决方案,尽管可能会有所帮助。