为什么 TFS 代理没有发现 VSTEST 功能

lek*_*kso 5 tfs vstest tfs-2015 vstest.console.exe visual-studio-2017

我们有 TFS 2015 服务器和带有 Visual Studio 2017 Ultimate 的构建服务器。TFS 代理无法检测 VisualStudio 或 VsTest 功能(应该如此),但手动添加时,仍然存在问题。

当涉及到 Visual Studio 测试步骤时,控制台显示以下错误并失败:

c:\AgentTest\tasks\VSTest\1.0.30\VSTest.ps1 
Unable to determine the location of vstest.console.exe
Run Code Online (Sandbox Code Playgroud)

我手动添加了以下功能:

VisualStudio C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise VisualStudio_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise

VisualStudio_IDE C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

VisualStudio_IDE_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

VS150COMNTOOLS C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\

VSTest C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow

VSTest_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow

这是我的 Visual Studio 测试设置: 在此处输入图片说明

And*_*SFT 4

我可以重现此问题,TFS 2015 代理无法识别 VStest 和其他一些 2017 相关功能。

根据测试,TFS 2015 不应支持 2017 VStest。

根据此Github 讨论,似乎核心问题是Visual Studio Test 任务需要更新以支持 VS 2017。

在TFS 2017和VSTS中,我们可以指定任务的绝对路径来vstest.console.exe让它工作(详细信息请参阅本文),但在TFS 2015中我们无法在任务中指定路径,这是不支持的。

所以,如果你想使用Vstest,你可以安装VS 2015,或者升级到TFS 2017或更高版本。

类似的线程供您参考:https://social.msdn.microsoft.com/Forums/vstudio/en-US/1f9992f3-20b6-437a-855d-ccd67ff2298e/using-tfs-2015-with-build-agent-and- Visual-studio-2017?forum=tfsadmin