J'essaye de charger une dll bêta de Visual Studio 2010 dans l'interface graphique de NUnit. J'obtiens une erreur contextuelle.
Cet assembly est généré par un runtime plus récent que le runtime actuellement chargé et ne peut pas être chargé. Vous essayez peut-être de charger une génération d'assembly avec une version ultérieure du CLR à la version sous laquelle NUnit est en cours d'exécution.
Comment forcer un exécutable à s'exécuter sous .NET 4?
Réponses:
J'ai téléchargé la source NUnit 2.5 et ouvert la solution VS2008 dans la version bêta de VS2010. Une fois la conversion terminée, j'ai ouvert tous les projets et changé le cadre cible pour tous les projets en ".NET Framework 4.0". J'ai ensuite construit la solution sans aucune erreur. Je peux maintenant utiliser l'application NUnit GUI pour exécuter des tests créés pour .NET 4.0. Je n'ai pas fait de tests exhaustifs de cette version, il peut donc y avoir des problèmes, mais pour mes besoins, cela fonctionne bien.
Mise à jour: il n'est pas nécessaire de reconstruire NUnit. J'ai découvert que si vous ajoutez ce qui suit au fichier de configuration NUnit approprié, vous pouvez exécuter une dll de test construite pour .NET 4.0.
Sous <configuration>, ajoutez:
et sous <runtime> ajoutez:
la source
Avec la sortie de .NET 4, j'ai utilisé
dans le NUnit 2.5.4 exe.config au lieu de requiredRuntime, et la balise loadFromRemoteResources comme indiqué ci-dessus et tout a bien fonctionné. Merci!
la source
Vous n'avez à modifier aucun fichier
ouvrez simplement ce fichier et tout fonctionnera très bien
C: \ Program Files (x86) \ NUnit 2.5.10 \ bin \ net-2.0 \ nunit-x86.exe
la source
Dans NUnit 2.5.5, vous pouvez spécifier dans la ligne de commande l'option /framework=net-4.0 et il est compatible avec les nouveaux assemblys générés avec la version du dernier VS2010.
la source
La solution proposée fonctionnait très bien pour faire fonctionner NUnit. Malheureusement, lorsque je suis arrivé à mon étape de couverture de code, NCover a commencé à me donner:
La meilleure solution que j'ai trouvée à cela était d'utiliser simplement la version "-x86" de NUnit avec NCover:
Fonctionne maintenant.
la source
Pour trouver votre version .net 4 à partir de Visual [C # 2010 Express, ou quel que soit le modèle], accédez à «À propos» de l'application Visual sous l'élément d'aide du menu. Il doit apparaître comme la version sous la ligne Microsoft .NET Framework en haut à droite de la fenêtre.
la source
J'ai rencontré le même message d'erreur lors de l'exécution de NUnit 2.4.8. Comme je n'avais pas mis à niveau depuis un certain temps, j'ai installé le NUnit actuel (v2.5.9) et j'ai constaté qu'il prend désormais en charge les assemblages VS2010. Donc, si vous avez récemment rencontré cette erreur, vérifiez votre version de NUnit : à partir de décembre 2010 (environ), la seule chose que vous devez faire est de mettre à niveau NUnit.
la source
À partir de NUnit 2.5.10, vous pouvez activer la prise en charge de Visual Studio dans le runner GUI:
Après cela, j'ai pu m'attacher avec succès au processus nunit-agent.exe qui exécute votre assembly dans un domaine d'application .NET 4.0
la source
Si vous rencontrez ce problème après la mise à niveau vers nunit 2.5.5, vous devrez mettre à niveau nant vers la dernière version pour moi, c'était .91 alpha.
la source
J'ai trouvé utile de commencer à partir du modèle d' application NUnit . Il prend en charge VS C # Express, permet les tests de débogage et contient NUnit précompilé pour .NET 4.0. Merci à l'auteur, le nouveau projet de test est prêt en un seul clic.
la source