VSTest 控制台在另一个基本目录中不起作用

VSTest console doesn't work from another base directory

我有一台带有 TFS2015 和 VS2015 的 Windows 2012 服务器。不知何故,我的 tfs 构建不会生成单元测试结果。我指出了问题所在。我登录服务器并在 "MSBuild Command Prompt for VS2015" 中执行以下命令(与 TFS 完全相同):

C:\Program Files (x86)\Microsoft Visual Studio 14.0>"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\_tfsWork894744\SoftwareDevelopment\ConsoleTest1\ConsoleTest1.UnitTest\bin\Debug\ConsoleTest1.UnitTest.dll"

我没有错误,但也没有结果。如果我使用 /ListTest 参数,它会找到测试。 当我将提示中的路径更改为包含测试程序集的文件夹并再次执行命令时,它起作用了。谁能解释我在这里做错了什么? (或者 TFS 做错了什么)

解决了。问题是测试 dll 的文件过滤器。它包括

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

当我通过排除所有 Microsoft.*.dll 删除此文件时,测试在 TFS 中有效。

对我来说 vstest.console.exe 的路径是:

C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\