2010-09-08 28 views
3

situation suivante:problème nunit chargement exe

  • tests.dll contient un tas d'unité essais

  • program.exe contient certains à tester cours

  • tests.dll contient des tests utilisant les classes dans program.exe

  • donc tests.dll a une référence sur program.exe

  • charges NUnit-agent.exe tests.dll et cela, alors les charges Program.exe

-> essentiellement dans le programme d'environnement nunit .exe est utilisé comme une DLL. 'Ususer' un exe comme dll est possible car je viens d'écrire une petite application de test qui fait aussi référence à program.exe et utilise certaines classes définies ici et ça marche bien ...

MAIS dans nunit j'obtiens une BadImageFormatException comme dès que les tests sont chargés qui utilisent le code défini dans program.exe

est-ce un bug dans le mécanisme de réflexion de nunit ou y a-t-il une raison à cela?

thx Tobi

Répondre

5

Cela peut se produire si le .exe est compilé pour x86 et que vous exécutez les tests sur un système d'exploitation 64 bits. Si c'est le cas, vous pouvez choisir d'utiliser nunit-x86.exe pour exécuter les tests.

+0

dans ma situation tout est fait sur la même machine Windows 7 64 bits ... donc cela ne semble pas être le problème ici – Tobias

+1

Par défaut Visual Studio 2010 cible la plate-forme x86 lorsque vous créez un nouveau projet .exe. Votre fichier .exe peut être compilé pour x86 ce qui peut causer vos problèmes. Vérifiez les paramètres du projet dans VS pour le fichier .exe. –

+1

Cela a résolu mon problème similaire. J'ai changé le EXE qui causait des problèmes de nunit de x86 à AnyCpu dans les propriétés du projet et puis cela a fonctionné. – chrismay