Scheint so, als sollte dies ein häufiges Problem sein, von dem ich eine Antwort auf eine schnelle Google-Suche erwartete, aber leider kann ich die Antwort nicht finden.
Ich schreibe einen Komponententest mit NUnit in C # für eine Methode, die auf einer Drittanbieterbibliothek basiert, Newtonsoft.Json, um spezifisch zu sein.
Wenn ich versuche, diese Methode von meinem Komponententest aus aufzurufen, erhalte ich den Befehl all to common
Datei oder Assembly konnte nicht geladen werden Newtonsoft.Json, Version = 4.5.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed oder eine seiner Abhängigkeiten. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz "exception" überein.
Sowohl der Komponententest als auch die Anwendung verwenden genau dieselbe newtonsoft-Bibliothek, und die DLL ist so eingestellt, dass sie in beiden Projekten lokal kopiert wird.
Scheint so, als ob ich etwas sehr Offensichtliches vermisse, aber ich kann dieses Problem anscheinend nicht überwinden.
"Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein" Gibt an, dass die DLL gefunden werden kann, aber es eine Versionskonflikt zwischen der Assembly und den Angaben im Manifest Ihres Projekts gibt. Können Sie im Windows Explorer überprüfen, dass die Version der DLL wirklich 4.5.0.0 ist?
Ich wäre auch neugierig, ob es mehr als eine Version dieser Assembly in Ihrem GAC gibt - vielleicht nimmt NUnit eine andere Version vor.
Tags und Links .net c# unit-testing nunit json.net