2013-07-02 43 views
2

我試圖加載一個.dll到我以前從未使用過的NUnit(NUnit),當我嘗試在Nunit中打開.dll時出現以下錯誤。我不知道發生了什麼問題,Google在這方面做得並不多。有什麼建議麼?NUnit - System.IO.FileNotFoundException

System.IO.FileNotFoundException... 

Server stack trace: 
     at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes) 
    at System.Reflection.RuntimeAssembly.GetExportedTypes() 
    at NUnit.Core.CoreExtensions.InstallAdhocExtensions(Assembly assembly) 
    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.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Util.RemoteTestAgent.AgentRunner.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 [1]: 
    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.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Util.ProcessRunner.Load(TestPackage package) 
    at NUnit.Util.TestLoader.LoadTest(String testName) 
+0

[System.IO.FileNotFoundException:找不到文件'x \ x \ x \ x \ bin \ debug \ project.dll](http://stackoverflow.com/ question/5695225/system-io-filenotfoundexception-could-not-find-file-xxxx-bin-debug-project) –

+0

你是什麼意思的「我以前從來沒有用過的DLL」?它是第三方圖書館嗎? – vendettamit

+0

我指的是NUnit,是的另一個線程是相似的,但沒有找到明確的解決方案,我的項目中有一個.dll。 – Steve2056726

回答

0

請確保在GloballyAssemblyCache中沒有開發階段程序集。

就我而言,NUnit未能加載Npgsql.Tests.dll

Npgsql.Tests.dll鏈接Npgsql.dll。不過,GAC有Npgsql.dll的另一個版本。

如果程序集具有完全限定的引用名稱,如Npgsql, Version=3.0.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7,.NET運行時首先嚐試從GAC搜索程序集,然後搜索您的本地文件夾(程序集爲探針)。我們可以檢查msdn How the Runtime Locates Assemblies

相關問題