ファイルやアセンブリ「Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e」またはその依存関係のいずれかを読み込みに失敗しました。 見つかったアセンブリマニフェストの定義はアセンブリ参照と一致しません。 (HRESULTの例外:0x80131040)
説明:現在のウェブリクエストの実行中に未処理の例外が発生しました。 スタックトレース情報でエラーの詳細や、エラーの発生源をコード内で確認してください。
例外詳細:System.IO.FileLoadException: ファイルまたはアセンブリ「Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e」またはその依存関係のいずれかをロードできませんでした。 見つかったアセンブリマニフェストの定義はアセンブリ参照と一致しません。 (HRESULTの例外:0x80131040)
出典の誤り:
現在のウェブリクエストの実行中に処理されていない例外が生成されました。 以下の例外スタックトレース情報を使って異常の原因と発生場所を特定できます。
アセンブリロードトレース:以下の情報は、アセンブリ「Common.Logging, Version=2.1.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e」がロードに失敗した理由を特定するのに役立ちます。
時には上記の誤差が見られます。
エラーの原因
プロジェクトAはxxx.dll、プロジェクトBはxxx.dll、プロジェクトAはプロジェクトBを参照しています。以下の図に示されています。
プロジェクトAもプロジェクトBもxxx.dllを指していますが、プロジェクトAはdllの上位バージョンを、プロジェクトBはdllの下位バージョンを指します
解決
<bindingRedirect>elementは、あるアセンブリバージョンを別のアセンブリバージョンにリダイレクトします。
旧バージョン
- 必要な性質
- 最初に求められたアセンブリのバージョンを指定します。 アセンブリのバージョン番号は major.minor.build.revision の形式です。 このバージョン番号の各部分は0から65535の間の有効な数値を持っています。
- バージョン範囲は以下の形式で指定することもできます:
- N.N.N.N.N-N.N.N.N
新バージョン
- 必須の性質。
- 元々要求されたバージョンフォーマットの代わりに使用するアセンブリのバージョンを指定します:n.n.n.n
- この値はoldVersionより前のバージョンを指定することができます。
ドキュメントリンク:https://docs.microsoft.com/zh-cn ... ingredirect-element
公式例:
そこで、私の回避策はweb.configで次のように設定することです:
|