如何修复无法加载文件或程序集'nunit.engine,Version = 3.7.0.0

Bun*_*nut 13 c# nunit visual-studio nunit-3.0

我有一个使用NUnit运行单元测试的单独测试项目的webappliction.当我的测试项目试图发现测试时,我遇到以下异常:

An exception occurred while test discoverer 'NUnit3TestDiscoverer' was loading tests. Exception: Could not load file or assembly 'nunit.engine, Version=3.7.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb' or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

这当然是一个非常常见的错误,但是我无法在任何地方找到对此特定程序集的引用,或者其他依赖项实际上导致了该问题.另一件事是我目前已经3.9.0安装了NUnit而不是上面提到的3.7.0.我已经尝试清理和重建解决方案并恢复所有Nuget包并清除obj目录也没有帮助.

Rob*_*use 19

使用最新版本的Visual Studio时,这种情况经常发生.我们不确定原因,但原因是Visual Studio缓存中的测试适配器的不完整副本.解决方法是删除缓存的副本并重新启动Visual Studio.

您要删除的文件夹C:\Users\username\AppData\Local\Temp\VisualStudioTestExplorerExtensions\NUnit3TestAdapter.3.x.x取决于您的用户名和版本.

请参阅https://github.com/nunit/nunit3-vs-adapter/issues/261http://hermit.no/how-to-resolve-cases-of-visual-studio-no-tests-appearing/

  • 在我的情况下,我只有`3.9.0`文件夹,而不是`NUnit3TestAdapter.3.9.0`.但是,删除后也工作正常. (3认同)
  • 没有 VisualStudioTestExplorerExtensions 文件夹 VS2019 16.7.3 (3认同)
  • VSTest系统尝试加载引擎,但由于缓存已损坏而无法找到它.这是在您的项目之外发生的,因此它不是参考问题.此外,随意删除整个缓存文件夹,它将重新创建自己:c:\ users\username\appdata\local\temp\VIsualStudioTestExplorerExtensions.如果其中一个腐败,其他人也可能腐败. (2认同)
  • VS 2022 17.1.3 中也没有。根据 https://github.com/nunit/nunit3-vs-adapter/issues/261#issuecomment-478240651,“VisualStudioTestExplorerExtensions 文件夹问题已在更高版本的 VS 中修复,因此这就是为什么您不再看到此问题”。 (2认同)