アセンブリ バインディング リダイレクト: 理論的根拠と実装を理解する
アセンブリ バインディング リダイレクトは、参照されるアセンブリが異なる場合にバージョンの競合を解決するために一般的に使用される手法です。バージョン。この構成により、アプリケーションはバインドを特定のバージョンのアセンブリにリダイレクトできるようになり、互換性とシームレスな実行が可能になります。
バインディング リダイレクトを使用する理由
異なるアセンブリが参照する場合、バインディング リダイレクトが必要になります。同じアセンブリをさまざまなバージョンで使用すると、実行時エラーが発生します。たとえば、アプリケーションがアセンブリ A を参照し、アセンブリ A がバージョン 1.0.0.0 のアセンブリ B を参照し、アプリケーションによって読み込まれる別のアセンブリがバージョン 2.0.0.0 のアセンブリ B を参照すると、競合が発生します。バインディング リダイレクトを使用すると、アプリケーションは実行時に使用するアセンブリ B のバージョンを指定できます。
リダイレクト戦略
バインディング リダイレクトでは通常、メジャー バージョンのみを指定します。これは、メジャー バージョンの変更は、アーキテクチャまたは機能の重要な変更を示すためです。マイナー番号、ビルド番号、およびリビジョン番号は、通常は下位互換性のある増分更新またはバグ修正を表します。最新のメジャー バージョンにリダイレクトすると、最新の互換性のあるバージョンが確実にロードされます。
リダイレクトの例
次のバインディング リダイレクト構成を検討してください。
<dependentAssembly> <assemblyIdentity name="FooBar" publicKeyToken="32ab4ba45e0a69a1" culture="en-us" /> <bindingRedirect oldVersion="7.0.0.0" newVersion="8.0.0.0" /> </dependentAssembly>
この設定では、バージョン 7.0.0.0 の範囲内のアセンブリ FooBar への参照がリダイレクトされます。 7.999.9999.9999.9999.9999.9999.9999.9999 (マイナー番号、ビルド番号、およびリビジョン番号を含む) からアセンブリ FooBar バージョン 8.0.0.0.
追加メモ
以上がアセンブリ バインディング リダイレクトは、.NET アプリケーションのバージョンの競合をどのように解決できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。