TFS 2017构建错误异常调用"调用"用" 2"参数:Microsoft.Build.Shared.FrameworkLocationHelper抛出异常

时间:2018-05-07 10:56:49

标签: tfs msbuild tfsbuild tfs2017

它是一个简单的Hello World Web应用程序。当我使用未安装Visual Studio的代理程序运行时,它工作正常。 但是,如果我使用另一个安装了Visual Studio 2017的代理运行构建,它会开始提供此错误。 为了检查,我安装了VS2017,其中Build正常工作,在安装VS2017后,它开始出现此错误。 无法找到可能存在的问题。

错误:

Exception calling "Invoke" with "2" argument(s): "The type initializer for 'Microsoft.Build.Shared.FrameworkLocationHelper' threw an exception."

任何帮助?

如果我卸载VS 2017并安装VS 2013或2015,它工作正常。 谢谢 萨米尔

1 个答案:

答案 0 :(得分:1)

建议您通过VS2017进行本地构建的测试。

猜猜问题可能是您正在通过旧的VS版本创建应用程序。构建服务器还没有检测到正确的VS版本。

有关错误信息xxx\MSBuildHelpers\vswhere.exe。因为那不是VS路径。从2017年开始,MSBuild位于Visual Studio下。在此之前,它位于%ProgramFiles(x86)%\ MSBuild下的相同位置。 2017年之前还有其他方法可以在vswhere的范围和目的之外找到MSBuild。

如果使用VS2017在本地构建成功,建议您重新配置或重新安装TFS构建代理。构建代理在安装后不会检测到环境更改。它只会在安装过程中检测到。您还可以尝试在“设置 - 代理队列 - 代理池 - 代理 - 功能”中手动添加一些功能。在此之后再次触发构建。