我正在使用内置的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更新)。但是,如果这样做有所破坏,我不知道在哪里可以看到什么坏了,或者如何修复它。
答案 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)
它是Visual Studio中的错误。将Visual Studio升级到版本15.7。 https://developercommunity.visualstudio.com/content/problem/222892/filenotfoundexception-microsoftvisualstudiotestpla.html
答案 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/