2

最近発生したアセンブリの読み込み/バインド エラーを追跡しています。調査中に、紛らわしい矛盾が見つかりました (融合ログを正しく解析していると仮定して)。

起動時にアプリケーションによってスローされる例外は次のとおりです。

{"ファイルまたはアセンブリ 'Microsoft.Practices.CompositeUI, Version=1.0.51205.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 HRESULT: 0x80131040)":"Microsoft.Practices.CompositeUI、バージョン = 1.0.51205.0、カルチャ = ニュートラル、PublicKeyToken = 31bf3856ad364e35"}

最近行ったいくつかのプロジェクトの変更では、厳密な名前のアセンブリ "Microsoft.Practices.CompositeUI" は必要ありません。すべてのソリューション プロジェクトが実際に署名されていないアセンブリを参照していることを確認した後、依存関係ブラウザーを起動して、何も不足していないことを確認しました。すべてがチェックアウトされ、古いアセンブリへの「古い」参照がないことを確認しました。もちろん、プロジェクトもクリーンアップして再構築しました。

次に、さらに調査し、フュージョン ログ ビューアー (Fuslogvw.exe) を起動して、バインド エラーを表示するように構成しました。ログを確認したところ、バインディング エラーが見つかりました。詳細ログは混乱の始まりです。「呼び出し元のアセンブリ」は、欠落しているアセンブリへのバインドがない (私が判断できる) アセンブリとしてリストされています。ああ、説明するのは難しいです。ログは次のとおりです。

* アセンブリ バインダー ログ エントリ (11/15/2010 @ 7:00:18 PM) *

操作に失敗しました。

バインド結果: hr = 0x80131040。説明はありません。

アセンブリ マネージャーの読み込み元: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 実行可能ファイル C:\Program Files\PMT\Office App\1.1.1.7\OfficeApp.exe の下で実行

--- 詳細なエラー ログが続きます。

=== プレバインド状態情報 ===

ログ: ユーザー = PMD\sklett

ログ: DisplayName = Microsoft.Practices.CompositeUI、バージョン = 1.0.51205.0、カルチャ = ニュートラル、PublicKeyToken = 31bf3856ad364e35 (完全指定)

ログ: Appbase = file:///C:/Program Files/PMT/Office App/1.1.1.7/

ログ: 初期 PrivatePath = NULL

ログ: 動的ベース = NULL

ログ: キャッシュ ベース = NULL

ログ: AppName = OfficeApp.exe

アセンブリの呼び出し: Microsoft.Practices.EnterpriseLibrary.Common、Version=4.1.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35。

===

ログ: このバインドはデフォルトのロード コンテキストで開始されます。

ログ: アプリケーション構成ファイルの使用: C:\Program Files\PMT\Office App\1.1.1.7\OfficeApp.exe.config

ログ: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config のマシン構成ファイルを使用しています。

ログ: ポリシー後の参照: Microsoft.Practices.CompositeUI、Version=1.0.51205.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35

ログ: GAC ルックアップに失敗しました。

ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Program Files/PMT/Office App/1.1.1.7/Microsoft.Practices.CompositeUI.DLL。

ログ: アセンブリのダウンロードは成功しました。ファイルのセットアップを試みています: C:\Program Files\PMT\Office App\1.1.1.7\Microsoft.Practices.CompositeUI.dll

LOG: run-from-source セットアップ フェーズに入ります。

ログ: アセンブリ名: Microsoft.Practices.CompositeUI、Version=1.0.51205.0、Culture=neutral、PublicKeyToken=null

WRN: アセンブリ名を比較すると、不一致が発生しました: PUBLIC KEY TOKEN

ERR: アセンブリ参照が見つかったアセンブリ定義と一致しませんでした。

ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。

現在、呼び出し元のアセンブリ "Microsoft.Practices.EnterpriseLibrary.Common" には、"Microsoft.Practices.CompositeUI" への依存関係が (依存関係ブラウザーを介して) リストされていません。それだけではありません。

フュージョン ログが私の足を止めました。フュージョン ログが混乱を引き起こしました! ;0)

うまくいけば、賢明な専門家が私が欠けているものを手がかりにするのに十分な情報を提供したことを願っています.

4

1 に答える 1

1

回答が適切なのか、追加のコメントなのかわかりません。間違って選択した場合はご容赦ください。;0)

良いニュースは、再起動後 (実際には電源喪失)、問題が解消されたことです。これがどのように、またはなぜそれを解決したのかわかりません。問題の調査には非常に細心の注意を払いましたが、再起動すると問題が解決したことは確かです!

それに固執し、支援を提供してくれた JeffN825 に感謝し、あなたのコメントのいくつかに投票しました。

于 2010-11-16T18:54:53.147 に答える