TFS 2017 - 构建服务器无法构建Visual Studio 2017

4
上周我在我的构建服务器上升级了Visual Studio 2017之后,MS Build 15.0不再使用。所以,每当我尝试编译使用新功能的Visual Studio 2017项目时,它们都会失败。
构建日志中的警告为:
“未找到Visual Studio版本'15.0'。正在寻找最新版本。”
错误为:
“something.cs(542,41): Error CS1525: Invalid expression term 'int'”,
这是因为构建服务器正在使用MS build 14.0。
到目前为止,我已经: 1- 卸载并重新安装了构建服务器上的Visual Studio 2017。 2- 安装了“Visual Studio Build Tools 2017”。
但仍然无法解决问题。我阅读了一些文章,似乎缺少注册表值,但我不知道如何创建它们。
感谢您在此主题上的帮助。
我正在使用TFS 2017 SP1(本地)和Visual Studio 2017的最新更新。

1
构建任务是否明确要求使用 VS 2017 / MSBuild 15 版本?您已经升级到 TFS 2017 Update 2 吗? - Martin Ullrich
@MartinUllrich 但是他们确实需要 VS 2017,尽管我还没有安装 Update 2。 - Barsham
2个回答

4
这可能是由于在配置构建代理后安装了VS。然后重新注册TFS的构建代理,因为系统能力只有在首次配置代理时才会被发现 - 之后进行的任何更改都不会被捕获。
更多方法请参考类似问题: 找不到具有以下功能的代理:msbuild、visualstudio、vstest? 或者暂时安装最新版本的代理,它似乎能够检测到VS2017。
还要记得在Visual Studio Build任务中选择Visual Studio Version选项卡中的VS2017。

enter image description here


不行。我创建了一个全新的代理,禁用了所有其他代理。错误仍然存在。此外,这是我的代理版本vsts-agent-win7-x64-2.112.0.zip。 - Barsham
1
不行。我也有最新版本,但它没有解决问题。仍然告诉我“未找到 Visual Studio 版本 '15.0'。正在寻找最新版本。” - Barsham
@Barsham,你能否在构建代理服务器上使用VS手动运行构建?这将缩小问题是否与您的构建代理环境或TFS服务器端有关。 - PatrickLu-MSFT
是的,即使我使用MSBuild组件并手动指定位置,它也可以工作。但是我无法使用此方法更改服务器上的所有300个构建。 - Barsham
@Patrick-MSFT感谢您的帮助。通过安装TFS 2017 SP2,问题已得到解决。 - Barsham
显示剩余3条评论

3
我通过将TFS从TFS 2017 SP1升级到TFS 2017 SP2来解决了这个问题。感谢@Patrick-MSFT和@Martin Ullrich的帮助。

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