我准备开始使用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>
答案 0 :(得分:0)
您可以单独下载MSBuild 15.0软件包here
此错误将在2种情况下发生
MSBUILD:错误MSB1040:ToolsVersion无效。工具版本 无法识别“ 15.0”。可用的工具版本为“ 4.0”。开关: 15.0
解决方案
对于第一种情况,您可以下载msbuild软件包
对于第二个版本,您可以定义自己的环境变量以指向msbuild 15.0版本。
MSDN上有一个similar question可以看到解决方案,尽管可能会有所帮助。