How to fix Could not load file or assembly 'nunit.engine, Version=3.7.0.0

Bunnynut picture Bunnynut · Jan 30, 2018 · Viewed 11.4k times · Source

I have a webappliction with a separate test-project using NUnit to run unittests. When my test-project is trying to discover tests I run into the following exception:

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.

This is of course a very common error, but I can't find a reference to this particular assembly anywhere or what other dependency is actually causing the issue. Another thing is that I currently have 3.9.0 installed of NUnit instead of the mentioned 3.7.0. I have already tried cleaning and rebuilding the solution and restored all Nuget packages and clearing the obj directory didn't help either.

Answer

Rob Prouse picture Rob Prouse · Jan 30, 2018

This is happening quite frequently with the latest versions of Visual Studio. We are not sure why, but the cause is an incomplete copy of the test adapter in the Visual Studio cache. The fix is to delete the cached copy and restart Visual Studio.

The folder you want to delete is C:\Users\username\AppData\Local\Temp\VisualStudioTestExplorerExtensions\NUnit3TestAdapter.3.x.x depending on your username and the version.

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