【发布时间】:2008-10-16 15:16:05
【问题描述】:
我使用的是 64 位 Vista,并且我有一个使用 x86 配置构建的项目。一切正常。现在,我们正在创建测试。我们有 NUnit 2.4.8 但我们有很多问题。
当我们直接选择 .dll 时,测试正在通过 Nunit.exe (gui) 加载,但在执行时出现 system.badimageformatexception。
我在 Google 上搜索了一些关于 nunit.exe.config 的技巧,但没有任何作用。 (更改为 UTF8...取消注释 .net 版本以进行启动)。
有什么想法吗?
更新
我已经清理了解决方案并删除了所有 BIN 文件夹。现在,当我编译时,我清楚地看到 bin 目录中只有 /x86/ 而不是 x64 中的旧 /debug/。
当我使用 Nunit 时,我有一个异常(在加载中):System.IO.FileNotFoundException...
服务器堆栈跟踪: 在 System.Reflection.Assembly._nLoad(AssemblyName 文件名,字符串代码库,证据 assemblySecurity,程序集 locationHint,StackCrawlMark 和 stackMark,布尔 throwOnFileNotFound,布尔 forIntrospection) 在 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,证据 assemblySecurity,StackCrawlMark 和 stackMark,Boolean for Introspection) 在 System.Reflection.Assembly.InternalLoad(字符串 assemblyString,证据 assemblySecurity,StackCrawlMark 和 stackMark,Boolean for Introspection) 在 System.Reflection.Assembly.Load(字符串 assemblyString) 在 NUnit.Core.Builders.TestAssemblyBuilder.Load(字符串路径) 在 NUnit.Core.Builders.TestAssemblyBuilder.Build(字符串 assemblyName,布尔 autoSuites) 在 NUnit.Core.Builders.TestAssemblyBuilder.Build(字符串 assemblyName,字符串 testName,布尔 autoSuites) 在 NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage 包) 在 NUnit.Core.TestSuiteBuilder.Build(TestPackage 包) 在 NUnit.Core.SimpleTestRunner.Load(TestPackage 包) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage 包) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage 包) 在 NUnit.Core.RemoteTestRunner.Load(TestPackage 包) 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) 在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型) 在 NUnit.Core.TestRunner.Load(TestPackage 包) 在 NUnit.Util.TestDomain.Load(TestPackage 包) 在 NUnit.Util.TestLoader.LoadTest(String testName)
更新 2
我正在使用我修改为 x86 而不是 x64 的任何 CPU 进行编译。原因是debug。这已经在上一个链接中讨论过了。我必须确认 NUnit 正在 64 位 mod 和 Corflags.exe 中运行
【问题讨论】:
标签: c# .net .net-2.0 nunit 64-bit