Win 2008 R2 システムで fuslogvw.exe を使用しようとしています。プロセスが開始され、CPU を使用していることを示していますが、UI は表示されません。管理モードではなく、32 ビット版と 64 ビット版を試しましたが、うまくいきませんでした。イベント ログに問題として何も表示されません。
2 に答える
UI を機能させることができない場合、フュージョン ログを構成して表示する必要はありません。キーの下のレジストリでフュージョン ログ設定を設定し、HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion
構成したディレクトリからログを直接表示できます (これらは単なる HTML ファイルであるため)。
レジストリを使用してログを構成する場合は、次のキーを設定する必要があります (ここから)。
LogFailures = 1 (DWORD 値)
これにより、失敗ログがオンになり、すべてのアセンブリの検索に失敗した試行がログに記録されます。LogResourceBinds = 1 (DWORD 値)
これにより、失敗ログが有効になり、失敗したサテライト アセンブリの検索試行がログに記録されます。これはデフォルトでは記録されません。ForceLog = 1 (DWORD 値)
これにより、すべてのアセンブリ バインド (失敗と成功の両方) のログが有効になります。デフォルトでは、失敗のみがログに記録されます。これは、アセンブリがグローバル アセンブリ キャッシュからではなく、特定のディレクトリから読み込まれていることを確認する場合に便利です。LogPath = "C:\fusionlogs\" (文字列値)
Fusion ログを簡単に表示したい場合は、LogPath を出力先のディレクトリに設定します。既定では、ログ ファイルは現在のユーザーのプロファイルのインターネット一時ファイル フォルダーに保存されます。ASP.Net または .Net Windows サービス アプリケーションの場合、Fusion ログを表示する唯一の方法は、このオプションを使用することです。これは、現在のユーザー以外のユーザーとして実行されるためです。指定されたディレクトリはすでに存在し、書き込み先の適切なファイル権限を持っている必要があります。ASP.Net アプリケーションの場合、ASPNET ユーザーはディレクトリへの書き込み権限を持っている必要があります。パーミッションが間違っている場合、ログ出力はありません。
私は最近、まったく同じ問題に遭遇しました。fuslogvw.exe
起動しますが、起動時にフリーズするようです。
結局のところ、バインド ログを最後に確認したときに、ログをオフにするのを忘れていました。そのため、デフォルトで 40,000 個の範囲のフォルダーがあり、ネイティブでも同様の量 (および数十万のログ ファイル) がありました。ログビューアが起動時にこれらすべてをロードしようとしていたため、途中で停止したとしか思えません。
ログを削除すると、ログ ビューアーが期待どおりに起動します。