質問

私のサーバーでは、私がキャッチする例外を取得していますが、それは大丈夫のようです。

問題は、私が書いているときです スタックトレース 私は得ています badimageformatexception.

サーバーをデバッグしようとしました。例外をキャッチするときにブレークポイントで停止し、そのすべてのフィールドを見ることができますが、スタックトレースでは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 System.Environment.getStackTrace(例外E、boolean needfileInfo)のsystem.exception.getStacktrace(boolean needfileinfo)の.exception.toString(boolean needfilelineinfo)の.exception.exception.TOSTRING()のexception(Boolean needfileInfo)の。 objectRenderer.defaultrenderer.RenderObject(RenderMap RenderMap、Object OBJ、TextWriter Writer)at Log4Net.ObjectRenderer.RenderMap.FindandRender(Object OBJ、TextWriter Writer)

役に立ちましたか?

解決

spring.netを使用していますか?最近、WCFでIerrorhandlerを実装してログの例外を実装したときに同じ問題があり、私の場合はSpring.netに問題がありました。 spting.netをバージョン1.3.1に更新しましたが、今では正常に動作します。

changelog [sprnet -1284]から - ILコード生成はsystem.badimageformatexceptionをもたらす可能性があります2008

他のヒント

これは、実行プロセスがx86として実行されている場合(anyCPUに設定されてWin32ビットマシンで実行されている場合)が、どこかで道路のどこかで、x64または逆として明示的にコンパイルされたアセンブリをロードしようとする場合に発生します。 x64(またはx64マシンのanycpu)は、明示的なx86コンパイルされたアセンブリをロードしようとします。

一部の難解な人は、無効なメタデータを注入すると、この例外を引き起こす可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top