Ich versuche, eine Visual Studio 2010-Beta-DLL in die NUnit-GUI zu laden. Ich erhalte einen Popup-Fehler.
Diese Assembly wird von einer Laufzeit erstellt, die neuer als die aktuell geladene Laufzeit ist, und kann nicht geladen werden. Möglicherweise versuchen Sie, einen Assemblybuild mit einer späteren Version der CLR als der Version zu laden, unter der NUnit derzeit ausgeführt wird.
Wie erzwinge ich die Ausführung einer ausführbaren Datei unter .NET 4?
Antworten:
Ich habe die NUnit 2.5-Quelle heruntergeladen und die VS2008-Lösung in der VS2010-Beta geöffnet. Nach Abschluss der Konvertierung habe ich alle Projekte geöffnet und die Zielframeworkeinstellung für alle Projekte in ".NET Framework 4.0" geändert. Ich habe dann die Lösung ohne Fehler erstellt. Ich kann jetzt die NUnit-GUI-App verwenden, um Tests auszuführen, die für .NET 4.0 erstellt wurden. Ich habe diesen Build nicht ausführlich getestet, daher kann es zu Problemen kommen, aber für meine Zwecke funktioniert er einwandfrei.
Update: Es ist nicht erforderlich, NUnit neu zu erstellen. Ich habe festgestellt, dass Sie eine für .NET 4.0 erstellte Test-DLL ausführen können, wenn Sie der entsprechenden NUnit-Konfigurationsdatei Folgendes hinzufügen.
Fügen Sie unter <Konfiguration> Folgendes hinzu:
und unter <runtime> hinzufügen:
quelle
Mit der Veröffentlichung von .NET 4 habe ich verwendet
in der NUnit 2.5.4 exe.config anstelle von requiredRuntime und dem loadFromRemoteResources-Tag wie oben gezeigt und alles funktionierte gut. Vielen Dank!
quelle
Sie müssen keine Datei ändern
Öffnen Sie einfach diese Datei und alles wird gut funktionieren
C: \ Programme (x86) \ NUnit 2.5.10 \ bin \ net-2.0 \ nunit-x86.exe
quelle
In NUnit 2.5.5 können Sie in der Befehlszeile die Option /framework=net-4.0 angeben, die mit den neuen Assemblys kompatibel ist, die mit der Version des neuesten VS2010 generiert wurden.
quelle
Die vorgeschlagene Lösung hat sich hervorragend bewährt, um NUnit zum Laufen zu bringen. Als ich dann zu meinem Codeabdeckungsschritt kam, gab NCover mir leider Folgendes:
Die beste Lösung, die ich dafür gefunden habe, war, einfach die "-x86" -Version von NUnit mit NCover zu verwenden:
Funktioniert jetzt.
quelle
Um Ihre .net 4-Version über Visual [C # 2010 Express oder welche auch immer] zu finden, gehen Sie zu "Info" der Visual-Anwendung unter dem Menüelement "Hilfe". Es sollte als Version unter der Microsoft .NET Framework-Zeile oben rechts im Fenster angezeigt werden.
quelle
Beim Ausführen von NUnit 2.4.8 ist dieselbe Fehlermeldung aufgetreten. Da ich seit einiger Zeit kein Upgrade durchgeführt hatte, installierte ich die aktuelle NUnit (v2.5.9) und stellte fest, dass sie jetzt VS2010-Assemblys unterstützt. Wenn Sie diesen Fehler neu festgestellt haben, überprüfen Sie Ihre NUnit-Version : Ab Dezember 2010 (oder so) müssen Sie nur noch NUnit aktualisieren.
quelle
Ab NUnit 2.5.10 können Sie die Visual Studio-Unterstützung im GUI-Runner aktivieren:
Danach konnte ich erfolgreich eine Verbindung zum Prozess nunit-agent.exe herstellen, der Ihre Assembly in einer .NET 4.0-App-Domäne ausführt
quelle
Wenn dieses Problem nach dem Upgrade auf nunit 2.5.5 auftritt, müssen Sie nant auf die neueste Version aktualisieren, für mich war es .91 alpha.
quelle
Ich fand sehr nützlich aus NUnit Anwendung starten Vorlage . Es unterstützt VS C # Express, ermöglicht Debugging-Tests und enthält vorkompilierte NUnit für .NET 4.0. Dank des Autors wird das neue Testprojekt mit einem Klick fertig.
quelle