J'utilise pnunit pour exécuter des tests de NUnit sur des machines distantes, l'agent pnunit charge le test et il fonctionne sous Windows 2008, mais le test ne se charge dans Windows 2003, l'erreur de l'agent estComment faire en sorte que l'application utilise une version spécifique de .NET?
INFO PNUnit.Agent.PNUnitAgent - Registering channel on port 9080
INFO PNUnit.Agent.PNUnitAgent - RunTest called for Test MyTest, AssemblyName test.dll, TestToRun test.Program.myDeployTest
INFO PNUnit.Agent.PNUnitTestRunner - Spawning a new thread
INFO PNUnit.Agent.PNUnitTestRunner - Thread entered for Test MyTest:test.Program.myDeployTest Assembly test.dll
Unhandled Exception: System.BadImageFormatException: The format of the file 'test
' is invalid.
File name: "test"
Server stack trace:
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, B
oolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Ass
embly locationHint, StackCrawlMark& stackMark)
sur l'exécution procmon et en surveillant le processus de l'agent, je pouvais voir que l'exécutable de l'agent utilisait des assemblys .NET 1.1 sous Windows 2003 et .NET 2.0 sous Windows 2008, ce qui pourrait expliquer ce comportement. Comment obtenir l'agent pour utiliser .NET 2.0 sur Windows 2003? J'utilise Visual Studio 2005 pour créer les tests.
Windows 2003 x86 et Windows 2008 x64? –
Pouvez-vous confirmer que .Net 2.0 est installé sur la machine 2003? Il est étrange qu'il n'ait pas choisi .Net 2.0 s'il a été installé sur la boîte 2003 car il a fait défaut à l'infrastructure .Net 2.0 sur la machine 2008. – Sijin
@Sijin, pourquoi cela serait-il étrange? Par défaut, le runtime correspondant exact est choisi autant que je peux dire de mon expérience avec ce problème dans le passé. Ainsi, si vous exécutez une application 1.0 sur une machine avec 1.1 et 2.0, elle peut charger 2.0, mais une application 1.1 sur une machine avec 1.1 chargera 1.1 à mon expérience. – Lucero