web-dev-qa-db-fra.com

Comment réparer Impossible de charger le fichier ou l'assembly 'nunit.engine, Version = 3.7.0.0

J'ai une application Web avec un projet de test distinct utilisant NUnit pour exécuter des tests. Lorsque mon projet de test tente de découvrir des tests, je rencontre l'exception suivante:

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.

Il s'agit bien sûr d'une erreur très courante, mais je ne trouve aucune référence à cet assembly particulier, ni à quelle autre dépendance est réellement à l'origine du problème. Une autre chose est que j'ai actuellement 3.9.0 installé de NUnit au lieu des _ 3.7.0. J'ai déjà essayé de nettoyer et de reconstruire la solution et de restaurer tous les packages Nuget et d'effacer le répertoire obj n'a pas aidé non plus.

13
Bunnynut

Cela se produit assez fréquemment avec les dernières versions de Visual Studio. Nous ne savons pas pourquoi, mais la cause est une copie incomplète de l'adaptateur de test dans le cache de Visual Studio. Le correctif consiste à supprimer la copie mise en cache et à redémarrer Visual Studio.

Le dossier que vous souhaitez supprimer est C:\Users\username\AppData\Local\Temp\VisualStudioTestExplorerExtensions\NUnit3TestAdapter.3.x.x selon votre nom d'utilisateur et la version.

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

19
Rob Prouse

Semble dans le fichier de projet que vous avez mentionné la référence à 3.7.0 comme GAC, et que la DLL n'est pas disponible dans GAC, ce qui, espérons-le, est à l'origine de l'échec.

0
Mr. N. Das

Dans mon cas, c'était

Une exception s'est produite lors de l'appel de l'exécuteur 'executor: // nunit3testexecutor /': impossible de charger le fichier ou l'assembly 'nunit.engine, Version = 3.9.0.0

Et le problème est: dans mon projet de test, j'ai une importation de NUnit3TestAdapter.3.13.0

  <Import Project="..\..\..\packages\NUnit3TestAdapter.3.13.0\build\net35\NUnit3TestAdapter.props" Condition="Exists('..\..\..\packages\NUnit3TestAdapter.3.13.0\build\net35\NUnit3TestAdapter.props')" />

Et dans un autre projet, j'ai référencé NUnit.Engine.3.10.0. mais NUnit3TestAdapter.3.13.0 a Nunit.Engine.3.9.0 dans le package.

\packages\NUnit3TestAdapter.3.13.0\build\net35

La solution a donc été de rétrograder Nunit.Engine dans un autre projet vers la version 3.9.

0
Boltyk