.NET で Assembly.Load トレースを有効にする方法はありますか? デバッガーの下で実行しているときに、「Loaded 'assembly X'」のようなメッセージが表示されることはわかっていますが、デバッガーの外部で実行中のアプリケーションのアセンブリ ロードのログを取得したいと考えています。
私は自分のアプリケーションでさまざまなことを追跡していますが、基本的に、どのアクションが特定のアセンブリの読み込みをトリガーしたかを知りたいと思っています。
.NET で Assembly.Load トレースを有効にする方法はありますか? デバッガーの下で実行しているときに、「Loaded 'assembly X'」のようなメッセージが表示されることはわかっていますが、デバッガーの外部で実行中のアプリケーションのアセンブリ ロードのログを取得したいと考えています。
私は自分のアプリケーションでさまざまなことを追跡していますが、基本的に、どのアクションが特定のアセンブリの読み込みをトリガーしたかを知りたいと思っています。
アプリケーションの AppDomain を取得し、AssemblyLoad イベントにアタッチします。
例 (C#):
AppDomain.CurrentDomain.AssemblyLoad += new AssemblyLoadEventHandler(OnAssemblyLoad);
Fusion Log Viewer はあなたの友達です。
[編集] 実際にはこれは行き過ぎかもしれませんが、AssemblyResolve イベントも優れています[編集]