从其他异常的StackTrace获取BadImageFormatException

在我的服务器中,我得到了一个异常,我抓住它似乎没问题。 问题是,当我写它的StackTrace时,我得到了BadImageFormatException。 我试过调试服务器。捕获异常时停在断点上,我可以看到它的所有字段,但是在StackTrace中我看到了BadImageFormatException。 有什么想法导致这个问题? 我的服务器细节 - 它是用.NET FW 4用C#编写的。 我也使用用Managed C ++编写的FrameWork。 我将我的服务器编译为x86平台。并在x64机器上运行服务器。 完整的BadImageFormatException - System.BadImageFormatException:方法的参数和签名不匹配。    在System.Reflection.RuntimeParameterInfo.GetParameters(IRuntimeMethodInfo methodHandle,MemberInfo成员,签名sig,ParameterInfo& returnParameter,Boolean fetchReturnParameter)    在System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters()    在System.Reflection.RuntimeMethodInfo.GetParameters()    在System.Diagnostics.StackTrace.ToString(TraceFormat traceFormat)    在System.Environment.GetStackTrace(例外e,布尔needFileInfo)    在System.Exception.GetStackTrace(Boolean needFileInfo)    在System.Exception.ToString(Boolean needFileLineInfo)    在System.Exception.ToString()    at log4net.ObjectRenderer.DefaultRenderer.RenderObject(RendererMap rendererMap,Object obj,TextWriter writer)    at log4net.ObjectRenderer.RendererMap.FindAndRender(Object obj,TextWriter writer)     
已邀请:
你使用Spring.NET吗?最近我在WCF中实现IErrorHandler以记录异常时遇到了同样的问题,在我的情况下,问题出在Spring.NET中。我已经将Spting.NET更新到版本1.3.1,现在它工作正常。 来自changelog [SPRNET-1284] - IL代码生成可能导致Windows 2008中出现System.BadImageFormatException     
如果您的执行进程以x86运行(如果设置为anycpu并在win32bit机器上运行),则会发生这种情况,但在某个地方,它会尝试加载已经明确编译为x64的程序集,反之亦然。 x64(或x64机器上的anycpu)尝试加载显式的x86编译程序集。     
一些混淆器在注入无效元数据时可能会导致此异常。     

要回复问题请先登录注册