1. ホーム
  2. registry

[解決済み] アセンブリバインディングログを有効にするにはどうすればよいですか?

2022-02-05 21:49:16

質問内容

ファイルまたはアセンブリ 'Bla' またはその依存物の 1 つを読み込むことができませんでした。不正なフォーマットでプログラムをロードしようとしました。

詳細情報の一部にはこうあります。

"WRN:アセンブリバインディングログがオフになっています。 アセンブリバインディングの失敗のログを有効にするには、レジストリ値[HKLMSoftware, Microsoft PasswordFusion!EnableLog] (DWORD) を 1 に設定します。 注:アセンブリバインドの失敗のロギングに関連するパフォーマンスペナルティがあります。 この機能をオフにするには、レジストリ値 [HKLM³³Software³³Microsoft³³Fusion!EnableLog]." を削除してください。

そこで、なぜ上記のエラーが発生するのか、何かヒントが得られるかもしれないと思い、レジストリ内のその場所に移動してみましたが、そのようなキーは見当たりません。あるのは

\Fusion 
    (Default)   value not set
    \GACChangeNotification
    \NativeImagesIndex
    \PublisherPolicy

何が足りないのか?

解決方法は?

バインドに失敗した場合の調査を開始するには、"fuslogvw.exe"ユーティリティを使用するのがよいでしょう。これにより、バインディングの失敗に関する必要な情報が得られ、バインディングのログをオンにするためにレジストリ値をいじくりまわす必要がなくなります。

Fuslogvw MSDNページ

ユーティリティは、Microsoft SDKs フォルダにあるはずで、オペレーティング・システムによっては、次のようになります。 C:♪Program Files (x86)♪Microsoft SDKs ♪Windows ♪v{SDK version}AinBin ♪FUSLOGVW.exe"

  1. このユーティリティを実行する 管理者として 開発者用コマンドプロンプトから(Adminとして)次のように入力します。 FUSLOGVW 新しい画面が表示されます。

  2. 次のページへ 設定方法 を選択し ディスクへのすべてのバインドを有効にする を選択します。 カスタムログパスを有効にする をクリックし、バインドログを保存するフォルダのパスを選択します。

  3. IISを再起動します。

  4. FUSLOGVWウィンドウから以下をクリックします。 すべて削除 以前のバインド失敗をすべて消去します。

  5. アプリケーションでバインディングの失敗を再現する

  6. ユーティリティで リフレッシュ . すると、バインドに失敗したことがリストに表示されるはずです。

  7. バインド失敗の情報を見るには、リストで失敗を選択して ログを見る

最初に調べるのは、アプリケーションがアセンブリを探しているパスです。また、問題のアセンブリのバージョン番号が期待するものであることを確認する必要があります。