Unit testing NUnit-System.IO.FileNotFoundException
我正在尝试将一个.dll加载到Nunit中,这是我以前从未使用过的(Nunit),当我尝试在Nunit中打开.dll时,我得到以下错误。我不知道出了什么问题,谷歌在这方面的表现不太好。有什么建议吗Unit testing NUnit-System.IO.FileNotFoundException,unit-testing,exception,testing,nunit,Unit Testing,Exception,Testing,Nunit,我正在尝试将一个.dll加载到Nunit中,这是我以前从未使用过的(Nunit),当我尝试在Nunit中打开.dll时,我得到以下错误。我不知道出了什么问题,谷歌在这方面的表现不太好。有什么建议吗 System.IO.FileNotFoundException... Server stack trace: at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectH
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)
确保GloballyAssemblyCache中没有开发阶段程序集 在我的例子中,NUnit无法加载
Npgsql.Tests.dll
Npgsql.Tests.dll
链接到Npgsql.dll
。然而,GAC还有另一个版本相同的Npgsql.dll
如果程序集具有完全限定的引用名称,如
Npgsql,版本=3.0.0.0,区域性=neutral,PublicKeyToken=5d8b90d52f46fda7
,.NET运行时首先尝试从GAC搜索程序集,然后搜索您的本地文件夹(探测程序集)。我们可以在msdn上查看它是否可能与您所说的“我以前从未使用过的dll”重复?它是第三方库吗?我指的是NUnit,是的,另一个线程类似,但没有找到明确的解决方案,我的项目中有一个.dll。