アセンブリ バインディング リダイレクト: 詳しい説明
概要
アセンブリ バインディング リダイレクト プレイアセンブリ間のバージョンの競合を解決する上で重要な役割を果たします。この記事では、バインディング リダイレクトの背後にあるメカニズムを詳しく掘り下げ、一般的なクエリに対処し、その機能を包括的に理解します。
バインディング リダイレクト メカニズム
アセンブリ バインディングのバインディング リダイレクトapp.config ファイルのセクションでは、アセンブリの古いバージョンと新しいバージョンの間のマッピングを指定します。ランタイムが古いバージョンに遭遇すると、読み込みを新しいバージョンに自動的にリダイレクトします。
メジャー バージョンの特異性
バインディング リダイレクトでは通常、メジャー バージョン番号のみを指定します。 oldVersion 属性と newVersion 属性。これは、残りのバージョン番号 (マイナー、ビルド、リビジョン) には互換性があると想定されるためです。明示的に指定しない場合、ランタイムは古いバージョンと同じマイナー、ビルド、およびリビジョン番号を持つ新しいバージョンをロードしようとします。
バージョンの変更
バージョン変更はメジャー バージョンに限定されません。バインディング リダイレクトを使用すると、任意のバージョン範囲を特定の新しいバージョンにリダイレクトできます。ただし、メジャー バージョンが変更されると、後続のすべてのバージョンもリダイレクトされますが、同じメジャー バージョン内のマイナー、ビルド、またはリビジョン番号への変更はリダイレクトをトリガーしません。
例
次のバインディングを考えてみましょうリダイレクト:
この例では、名前が「FooBar」、公開キー トークンが「32ab4ba45e0a69a1」のアセンブリは、実行時にバージョン 7.0.0.0 からバージョン 8.0.0.0 にリダイレクトされます。 。バージョン 7.0.0.0 内のすべてのマイナー、ビルド、およびリビジョン番号は、バージョン 8.0.0.0 の対応するものに自動的にリダイレクトされます。
追加メモ
以上がアセンブリ バインディング リダイレクトは、.NET アプリケーションのバージョンの競合をどのように解決しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。