4

.NETのアセンブリバージョンと厳密な名前を完全に理解しようとしています

バージョンマッチングではMajor.Minor.Buildのみが使用されると述べているこのアセンブリバージョン管理の記事を見つけました。これを確認/拒否できるものが見つかりません。

アセンブリバージョン形式...リビジョン:
同じ名前、メジャー、およびマイナーバージョン番号のアセンブリですが、異なるリビジョンは完全に交換可能であることが意図されています。これは、以前にリリースされたアセンブリのセキュリティホールを修正するのに適しています。

MSの記事は次のようなことを言っています:

アセンブリのバージョン番号は、アセンブリのIDの一部であり、アセンブリへのバインドおよびバージョンポリシーで重要な役割を果たします...バージョンチェックは、厳密な名前のアセンブリでのみ発生します。

これは、1.0.0.0と1.0.0.1は厳密な名前の環境では交換可能であるが、1.0.1.1は互換性がないことを意味しますか?

決定的な答えは何ですか?

4

2 に答える 2

2

リンクされた記事には、Major.Minor.Build のみがバージョンの一致に使用されているという記述は見つかりませんでした。実際、バージョンの 4 つのコンポーネントすべてが使用されます。

要点はintended to be interchangeableそれらが実際に互換性があるかどうかは、MS ガイドラインを尊重するか無視するかを自由に決定できる著者に依存します。

GAC にインストールされている共有アセンブリのベンダーは、古いバージョンのアセンブリから新しいバージョンのアセンブリにリダイレクトする発行者ポリシー ファイルを提供できます。新しいバージョンが古いバージョンと下位互換性がある場合にのみ、これを行う必要があります。

于 2012-09-10T09:01:22.027 に答える