2008-12-30 7 views
30

Je suis en train de configurer une nouvelle machine 64 bits pour fonctionner en tant que serveur de build Lorsque j'essaie de charger mon assembly de test NUnit dans NUnit GUI, j'obtiens l'erreur suivante:NUnit "Impossible de charger le fichier ou d'assembler 'MyTestProject'

Il n'y a rien d'évident manque, toutes les dépendances semblent être présents. tous les DLL sont compilés pour la plate-forme x86.

en utilisant NUnit 2.4.7. Je l'ai essayé à la mise à niveau 2.4.8 mais la même erreur se produit

System.IO.FileNotFoundException: n'a pas pu charger le fichier ou l'assemblage 01 'MyTestProject' ou l'une de ses dépendances . Le système ne peut pas trouver le fichier spécifié.

System.IO.FileNotFoundException ...

Server stack trace: 
    at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.Load(String assemblyString) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites) 
    at NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage package) 
    at NUnit.Core.TestSuiteBuilder.Build(TestPackage package) 
    at NUnit.Core.SimpleTestRunner.Load(TestPackage package) 
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Core.RemoteTestRunner.Load(TestPackage package) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext) 

Exception rethrown at [0]: 
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 
    at NUnit.Core.TestRunner.Load(TestPackage package) 
    at NUnit.Util.TestDomain.Load(TestPackage package) 
    at NUnit.Util.TestLoader.LoadTest(String testName) 

Répondre

28

La solution consistait à construire le projet de test pour "AnyCPU" au lieu de 32 bits. Je peux contourner la restriction qui nous a fait utiliser 32 bits.

Merci David et Joe90 pour les suggestions. J'ai certainement appris quelques nouvelles choses. fuslogvw.exe est génial, je ne savais pas auparavant qu'il existait.

+4

oui, mais il est préférable d'utiliser nunit-x86 si vous avez besoin que votre projet soit compilé pour x86. – nightcoder

3

Activez le journal de fusion avec fuslogvw.exe (Exécuter en tant qu'administrateur de l'invite de commandes Visual Studio) pour voir ce que le chargeur de montage tente de charger et tous se produire les erreurs.

Questions connexes