【问题标题】:TFS 2015 Build: Unable to determine the location of vstest.console.exeTFS 2015 Build:无法确定 vstest.console.exe 的位置
【发布时间】:2017-12-25 16:57:01
【问题描述】:

设置

我在服务器上安装了带有 Update 4 的 TFS 2015 和带有 Update 5 的 Visual Studio 2013 Professional。然后我在同一台服务器上安装了 TFS 构建代理(版本 1.95.4)。

我注意到构建代理的功能包括 MSBuild 和 VisualStudio(如预期的那样),但不包括 VSTest...所以我手动将 VSTest 作为功能添加到包含 vstest.console.exe 的文件夹中(是的,它在D盘):

D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow

我创建了一个简单的构建定义,其中包含以下步骤:

  1. Visual Studio Build(设置为使用 2013 版)
  2. Visual Studio 测试(设置为使用 2013 版)

问题

当我排队构建时,代码构建得很好,但是当测试运行时我收到以下错误:

System.IO.FileNotFoundException:无法确定 vstest.console.exe 的位置

我尝试过的

我已经寻找解决方案,但找不到与我在版本方面遇到同样困境的任何人(使用 TFS 2015 和 VS 2013 Professional)。虽然,我确实尝试了针对不同 TFS/VS 版本组合提出的多种其他解决方案,但无济于事:

  • 确保存在以下注册表项:

    • HKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0

    • HKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0\EnterpriseTools\QualityTools

      • InstallDir 具有值 D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow 的条目
  • 重新安装构建代理

  • 添加“VSTest”作为环境变量
  • 将 Visual Studio 测试任务设置为使用“最新版本”而不是“2013”​​

如何让代理识别/找到 vstest.console.exe?有什么我忽略的吗?

【问题讨论】:

  • 输入注册表项后是否尝试重新启动构建代理服务器?如果没有,请尝试重新启动。另外,您可以尝试多次重启代理服务来识别添加的VStest。
  • 是的,我尝试过重启服务器和代理重启。
  • 将 ShellFolder 条目添加到 12.0 部分对我来说效果很好。你能提供你的注册表的截图吗?尝试运行this代码,检查是否得到对应的值。
  • 我已经用注册表截图的链接更新了原始帖子。我运行了您提到的代码,这是字符串输出: D:\Program Files (x86)\Microsoft Visual Studio 12.0\

标签: visual-studio-2013 tfs tfsbuild tfs-2015 vstest.console.exe


【解决方案1】:

我在我这边测试,VStest可以正确识别(默认安装,C盘)。而且HKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0下只有一个ShellFolder注册表键

请尝试部署一个新的代理,然后检查 VSTest 是否可以在能力中被识别。

如果还是不行,可以先尝试卸载VS2013,然后默认重新安装到C盘。


更新:

您可以尝试将 VStest 添加为 USER CAPABILITIES,然后检查是否有效。

请尝试添加:

VSTest_12.0  D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow

如果这不起作用,请尝试直接指定 vstest.console.exe

VSTest_12.0  D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe

【讨论】:

  • 根据公司政策,我只能安装在 D 盘上。我重新安装了 VS2013 Professional 和 TFS 构建代理,但仍然无法让 VSTest 被识别为功能。
  • @BrettC 您可以尝试将 VStest 添加为 USER CAPABILITIES,然后检查是否有效。
  • 我尝试将 VSTest 和 VSTest_12.0 添加为指向 TestWindow 文件夹的用户功能,并让它们直接指向 vstest.console.exe 也没有修复它。我开始认为它与安装在 D 盘上有关...
  • @BrettC 在 D 盘上安装了 VS2013 进行测试,找不到 vstest。建议考虑C盘。
猜你喜欢
  • 1970-01-01
  • 2018-12-31
  • 2018-12-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-22
  • 2016-08-05
  • 1970-01-01
  • 2015-12-31
相关资源
最近更新 更多