从其他例外的stacktrace获得BadImageFormateXception
-
25-10-2019 - |
题
在我的服务器中,我得到了一个例外,我抓住了,这似乎还可以。
问题是当我写它时 堆栈跟踪 我越来越 BadImageFormateXception.
我尝试调试服务器。当捕获异常时,我可以在断点上停下来,我可以看到它的所有字段,但是在StackTrace中,我看到了BadImageFormateXception。
有什么想法导致这个问题?
我的服务器详细信息 -
它用.NET FW 4用C#编写。
我还使用托管C ++编写的框架。
我将服务器编译到X86平台。并在X64机器上运行服务器。
完整的badimageFormateXception-
system.badimageFormateXception:该方法的参数和签名不匹配。 at System.Reflection.RuntimeParameterInfo.GetParameters(IRuntimeMethodInfo methodHandle, MemberInfo member, Signature sig, ParameterInfo& returnParameter, Boolean fetchReturnParameter) at System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters() at System.Reflection.RuntimeMethodInfo.GetParameters() at System.Diagnostics.StackTrace .toString(traceFormat TraceFormat)在system.environment.getStacktrace(Exception e,boolean needfileinfo)system.exception.getStacktrace(boolean needfileinfo)at system.toString.toString(boolean needfilelean needfilelealineinfo)在system.exception.tosception.tostostostostostoString.tostoString.toStret() objectRenderer.defaultrenderer.renderObject(rendererMap renderermap,object obj,textwriter writer)at log4net.objectRenderer.renderermap.findandrender(object obj,textwriter writer)
解决方案
您使用spring.net吗?最近,当在WCF中实施iErrorhandler以进行日志异常时,我也遇到了同样的问题,在我的情况下,我的问题是在spring.net中。我已经将Sping.net更新为1.3.1版,现在正常工作。
来自ChangElog [Sprnet -1284] - IL代码生成可以导致系统。Windows2008中的BadimageFormateXception
其他提示
如果您的执行过程以X86的形式运行(如果设置为AnyCPU并在Win32bit机器上运行),则会发生这种情况,但是在道路上的某个地方,它试图加载已明确编译为X64 ..的组件,反之亦然。 X64(或X64机器上的AnyCPU)试图加载显式X86编译的组件。
一些混淆器在注入无效的元数据时会导致此例外。