今天是个好日子。我整天都在工作中遇到同样的问题,并且正在努力寻找任何新的途径。
当我的解决方案在服务器上构建时,我收到以下错误。我在解决方案中运行/调试所有测试都没有问题,并且构建良好。服务器和我的电脑都是 x64 的。我遵循了很多我发现无济于事的建议。
在所有配置下,我已将解决方案中的所有项目的平台目标设置为 x86。
我知道有一个 nunit-console-x86.exe 可能会有所不同,但我不确定在代码中的何处指定它。
请意识到我已经开拓了互联网,如果我错过了什么,请道歉。
System.BadImageFormatException:无法加载文件或程序集
“Spin.TradingServices.DataAcquisition.Test.NUnit,版本=1.0.12103.2060,文化=中性,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。
文件名:“Spin.TradingServices.DataAcquisition.Test.NUnit,版本=1.0.12103.2060,文化=中性,PublicKeyToken=null”服务器堆栈跟踪:在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.Assembly.Load(AssemblyName assemblyRef) at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path) at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName , Boolean autoSuites) 在 NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName,Boolean autoSuites) 在 NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage package) 在 NUnit.Core.TestSuiteBuilder.Build(TestPackage package) 在 NUnit.Core.SimpleTestRunner.Load(TestPackage package) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage package ) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage package) 在 NUnit.Core.RemoteTestRunner.Load(TestPackage package) 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg,Int32 methodPtr,布尔 fExecuteInContext)处的 methodPtr,布尔 fExecuteInContext,Object[]& outArgs)TestSuiteBuilder.Build(TestPackage package) 在 NUnit.Core.SimpleTestRunner.Load(TestPackage package) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage package) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage package) 在 NUnit.Core.RemoteTestRunner。在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) 在 System.Runtime.Remoting.Messaging 加载(TestPackage 包)。 StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)TestSuiteBuilder.Build(TestPackage package) 在 NUnit.Core.SimpleTestRunner.Load(TestPackage package) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage package) 在 NUnit.Core.ProxyTestRunner.Load(TestPackage package) 在 NUnit.Core.RemoteTestRunner。在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) 在 System.Runtime.Remoting.Messaging 加载(TestPackage 包)。 StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[] 处加载(TestPackage 包) & outArgs) 在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[] 处加载(TestPackage 包) & outArgs) 在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 在 NUnit.Core 的 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)。 TestRunner.Load(TestPackage package) at NUnit.Util.TestDomain.Load(TestPackage package) at NUnit.ConsoleRunner.ConsoleUi.Execute(ConsoleOptions options) at NUnit.ConsoleRunner.Runner.Main(String[] args)
警告:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 设置为 1。注意:与程序集绑定失败日志记录相关的一些性能损失。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
http://app1017-build.oy.gb.sportingindex.com:8080/job/TradingServices.DataAcquisition-Dev/ws/DataAcquisition/build.proj(86,5):错误MSB6006:“nunit-console.exe”退出代码-100。完成建设项目”(默认目标)——失败。
构建失败。
请注意:我们已经恢复了在 Hudson 上的构建,现在更逐步地重新提交文件。我将报告情况如何。不幸的是,试图让一些人参与这个问题但无济于事。耻辱!
更新 我已经有一段时间没有回到这个页面了,但看起来有很多不同的解决方案。如果我可以将它们全部标记为答案,我会的!那些在这里找到自己的方式的人可能应该对每个选项给予同等的重视。