1

提供された API アセンブリを参照するときにサード パーティが拡張できる .Net システムがあります。私の懸念は下位互換性に関するものです。つまり、提供された API アセンブリにバイナリの互換性を損なわない変更が加えられるたびに (メソッドが追加されるなど)、次のことを確認する必要があります。

  1. 古いバージョンを使用して構築されたプラグインは、新しいバージョンを実行しても機能するはずです。
  2. ただし、新しいバージョンを使用して構築されたプラグインは、古いバージョンを実行している場合は機能しないはずです (そうしないと、プラグインが存在しないメソッドを呼び出そうとすると、ランタイム エラーが発生する可能性があります)。

2 番目の要件のため、単純にバージョン番号を同じに保つことはできません。要件 1 を満たす唯一の方法は、すべての API アセンブリの以前のすべてのバージョン番号の長いリストを維持する必要があるバインディング リダイレクトを使用することです。これはエラーが発生しやすく、退屈なようです。

.Net アセンブリのバージョン番号を扱う際に適切な下位互換性を維持するための代替戦略はありますか?

4

0 に答える 0