この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 30883|答える: 1

[出典] .net/c# 参照 DLLバージョン 競合解決

[リンクをコピー]
掲載地 2018/06/04 16:02:54 | | | |
ファイルやアセンブリ「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で次のように設定することです:







先の:私はここにいます。もっと注意を払い、お互いから学んでください
次に:解決策:Visual Studioのインストールに使われたインストーラーが不完全です
 地主| 掲載地 2022/10/22 10:03:58 |
[実用操作] リダイレクトに依存するDLLの異なるバージョンを参照することの矛盾
https://www.itsvse.com/thread-10376-1-1.html
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com