あるマシンでアプリケーションを起動すると、「動作が停止した」と言ってすぐに終了します。イベント ログを見ると、MissingMethodException が原因であることがわかります。例外ダイアログは表示されず、イベント ログの詳細には詳細なエラー メッセージ (「メソッドが見つかりません: xyz」などを含む) が表示されません。
イベントハンドラー情報には次のように書かれています(ここでこれを英語に翻訳しようとしましたが、逐語的ではない可能性があります)
アプリケーション: Myapp.exe フレームワーク バージョン v4.0.30319
説明: 未処理の例外が発生したため、プロセスが終了しました
例外情報: System.MissingMethodException
スタック: MyApp.MainClass.Main(System.String[]) で
この例外が発生したときに欠落していたメソッドを見つけるにはどうすればよいですか? マネージド アプリケーションですが、多数のネイティブ依存関係があります。
編集: コンパイルされたアセンブリはすべて同じビルドでコンパイルされます。つまり、アプリケーションのマネージ コード内にバージョンの不一致はありません。バイナリ依存関係に不一致がある可能性がありますが、もしそうなら、どうすればどれを見つけることができますか?
これは、VS 2012 でビルドされた Windows フォーム アプリケーションですが、4.0 を対象としています。フレームワーク 4.0 のみのすべてのマシンでエラーが発生するわけではないため、問題にはならないようです。