アセンブリ バインディング リダイレクト: 理解と実装
アセンブリ バインディング リダイレクトは、アプリケーション参照内の異なるアセンブリが存在する場合に発生する競合を解決するために使用されるメカニズムです。同じライブラリの複数のバージョン。これは、ライブラリが更新され、アプリケーションが古いバージョンと新しいバージョンの両方に依存している場合に発生する可能性があります。
メジャー バージョン リダイレクト
バインディング リダイレクトでは通常、メジャー バージョンのみが指定されます。マイナー番号、ビルド番号、およびリビジョン番号を無視して、アセンブリの。これは、通常、アセンブリの互換性がこれらの下位バージョン番号の影響を受けないためです。メジャー バージョンが同じである限り、アセンブリの機能は同等であるとみなされます。
バージョン変更頻度
バインディング リダイレクトの古いバージョンと新しいバージョンが変更されるメジャーバージョンに変更があった場合のみ。これは、マイナー番号、ビルド番号、リビジョン番号は、通常、アセンブリの全体的な機能に影響を与えないバグ修正やパフォーマンスの最適化を表すためです。
例
次のバインディング リダイレクトを考えてみましょう。 :
<dependentAssembly> <assemblyIdentity name="FooBar" publicKeyToken="32ab4ba45e0a69a1" culture="en-us" /> <bindingRedirect oldVersion="7.0.0.0" newVersion="8.0.0.0" /> </dependentAssembly>
このバインディング リダイレクトは、アプリケーションにバージョン 8.0.0.0 をロードするように指示します。アプリケーションが古いバージョンを参照している場合でも、バージョン 7.0.0.0 ではなく FooBar アセンブリを使用します。このリダイレクトは、関連するアセンブリ バージョンのマイナー、ビルド、またはリビジョン番号に関係なく発生します。
以上がアセンブリ バインディング リダイレクトは、.NET アプリケーションのバージョンの競合をどのように解決しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。