Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing NUnit-System.IO.FileNotFoundException_Unit Testing_Exception_Testing_Nunit - Fatal编程技术网

Unit testing NUnit-System.IO.FileNotFoundException

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

我正在尝试将一个.dll加载到Nunit中,这是我以前从未使用过的(Nunit),当我尝试在Nunit中打开.dll时,我得到以下错误。我不知道出了什么问题,谷歌在这方面的表现不太好。有什么建议吗

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。