2

初めて Visual Studio IDE の外部で C# WinForms 実行可能ファイルを実行したとき、次のダイアログが表示されました。

"<Application> has stopped working, Windows can check online..."

そこで、Visual Studio の [Attach to Process] を使用してプロセスに接続しました。これにより、プログラムが内部で中断されたことが示されましたInitializeComponent()(ただし、それ以上の手がかりは得られませんでした)。

アプリケーションを編集し、前述のコードの周りに try/catch ブロックを配置しました。これにより、次のMessageBox出力を出力できました。

ご覧のとおり、これは、アプリケーションが必要な DLL を見つけることができないことを示しています。

私の質問: アプリケーションを変更せずに (つまり、詳細を出力する try/catch ブロックを使用せずに)、この結果を達成できたでしょうか? Visual Studio のプロセスへのアタッチ機能を使用すると、DLL が見つからないという特定の問題を特定できますか? もしそうなら、どのように?

4

1 に答える 1

3

この情報は、フュージョン ログを有効にすると、フュージョン ログから見つけることができます。Fusion ログは、依存関係がないためにアセンブリの読み込みが失敗したかどうかを診断するのに役立ちます。

また、イベント ビューアーに役立つ情報が含まれている場合もあります。

https://msdn.microsoft.com/en-us/library/e74a18c4%28v=vs.110%29.aspx

于 2015-02-08T20:10:04.273 に答える