MSTest找不到TestAdapter.dll

时间:2018-03-29 17:59:25

标签: visual-studio visual-studio-2017 mstest

我正在使用内置的Visual Studio测试工具(菜单中的Test -> Run -> etc)。我刚开始遇到问题,当我尝试运行测试时出现以下错误

[3/29/2018 1:39:14 PM Error] System.IO.FileNotFoundException: C:\Users\brubin\AppData\Local\Temp\VisualStudioTestExplorerExtensions\MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll at Microsoft.VisualStudio.TestWindow.Controller.TestPlatformProvider.PerformShadowCopy(IEnumerable'1 testExtensions)

接下来是一些错误,说

Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.

当我查看文件夹C:\Users\brubin\AppData\Local\Temp\VisualStudioTestExplorerExtensions\MSTest.TestAdapter.1.1.18/build/_common/时,该文件夹中没有文件。但是,我没有故意改变我的测试设置,这几天前工作,所以我不知道它为什么会停止工作。

我的项目正在使用MSTest.TestFramework(MSTest V2)版本v1.2 NuGet包。

我注意到可能导致此问题的一件事是,如果我转到Tools -> Extensions and Updates,我会看到我的Microsoft Visual Studio测试平台几天前更新,在3/23(我想是的我安装了Visual Studio更新)。但是,如果这样做有所破坏,我不知道在哪里可以看到什么坏了,或者如何修复它。

enter image description here

6 个答案:

答案 0 :(得分:14)

对我来说,清除VisualStudioTestExplorerExtensions文件夹并重新启动Visual Studio(按照this github issue)就可以了。在我的情况下,它包含两个用于MSTest.TestAdapter不同版本的文件夹,我不知道这是否相关。

答案 1 :(得分:2)

上周我花了整整时间来尝试解决同一问题。直到昨天,我才意识到从控制台运行测试可以节省时间。令我惊讶的是,我刚刚将所有项目(位于“ OneDrive”文件夹中)移到了其他位置。现在,它就像一个魅力!我所有的测试都从Visual Studio IDE运行。我不知道移动文件是否与此有关,但是您可以尝试一下。

答案 2 :(得分:1)

对于偶然发现此问题的其他人来说,问题的原因是我的一些测试项目没有包含MSTest.TestAdapter NuGet包。我在我的所有测试项目中添加了MSTest.TestAdapter包,现在问题似乎永久解决了。

答案 3 :(得分:0)

答案 4 :(得分:0)

是的,您需要在所有测试项目上更新“ MsTest.TestAdapter”。最简单的方法是右键单击主解决方案,然后单击管理nuget软件包。然后选择“已安装”选项卡,并查看每个测试项目上是否已安装TestAdapter。如有必要,您可以将TestAdapter更新到最新版本。然后重新启动Visual Studio,它应该可以工作。

答案 5 :(得分:0)

重新安装所有解决方案的 Nuget 包为我解决了这个问题。

请在包控制台上运行此命令:

[kubernetes@47450 app="api-mma" pod-template-hash="9849d88d6" namespace_name="qa" object_name="api-mma-9849d88d6-59mzd" container_name="api-mma" vm_id="91cdf0e0-b1fb-45bc-8a3f-c85b027af505"]

然后再试一次,或者重启VS,然后再试一次。

参考:https://ardalis.com/force-nuget-to-reinstall-packages-without-updating/