Share via


アセンブリ バインディング ログ ビューア (Fuslogvw.exe)

アセンブリ バインディング ログ ビューア (Fuslogvw.exe) は、リソースの読み込みプロセスを分析するために役立ちます。詳細なリソース バインディング情報は、実際には、Windows の WinInet コンポーネントによって URL ベースごとに維持されます。しかし、それらのエントリを WinInet がエントリを返すときに、エントリの順序は必ずしも時間順にはなっていません。

既定では、バインディング呼び出しはログに記録されません。ログに記録するには、まず、HKLM\Software\Microsoft\Fusion キーの下に DWORD 値を作成する必要があります。ログの最初のレベルには、失敗したリソース バインドだけが表示されます。これを有効にするには、LogResourceBinds DWORD 値を作成し、その値を既定の 0 以外の値に設定します。

**メモ   **サンプル アプリケーションでリソース バインドを失敗させてみるには、適切なリソース サテライト アセンブリを削除するか、その名前を変更してみます。たとえば、\en-US\Graphic.resources.dll と \en\Graphic.resources.dll を両方とも削除してから Graphic サンプルを実行すると、Fuslogvw.exe には次のような出力が示されます。

これら 2 つのログ エントリは、まず、共通言語ランタイムが en-US カルチャのリソースを見つけ出そうとしていることを示します。そのリソースが見つからないと、ランタイムは en カルチャのリソースを読み込もうとします。そのリソースも見つからなかった場合は、メイン アセンブリからリソースを読み込みます。これには成功するため、ログは記録されません。

しかし、多くの開発者は、バインディングのログ記録をすべて確認したいと考えます。その場合は、同様の DWORD 値 ForceLog を既定の 0 以外の値に設定します。設定した時点から、以降のバインディング呼び出しは、その成否にかかわらずログに記録されるようになります。この場合のログは、通常は次のようになります。

リソース バインドのいずれか (この場合は、Locale=en-US) を選択し、[View Log] をクリックして選択すると、ブラウザ ウィンドウが開き、詳細なログが表示されます。

この特定のログ エントリは、まずグローバル アセンブリ キャッシュ (GAC) を検索し、次にアプリケーション サブディレクトリを検索した後で、リソースが正常に読み込まれたことを示しています。共通言語ランタイムは、読み込もうとするファイル数を減らし、パフォーマンスを向上させるために、拡張子 .DLL の付いたファイルのリソースだけを検索します。

参照

グローバル アセンブリ キャッシュ ツール (Gacutil.exe) | MSIL 逆アセンブラ (Ildasm.exe) | 厳密名ツール (Sn.exe)