0

设置

我在服务器上安装了带有 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

      • ShellFolder有值的条目 D:\Program Files (x86)\Microsoft Visual Studio 12.0\

      • ShellFolder 截图

    • 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?有什么我忽略的吗?

4

1 回答 1

0

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

请尝试部署新代理,然后检查 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

在此处输入图像描述

于 2017-07-21T03:20:17.470 回答