&tag(CSharp/バージョン番号); *目次 [#w261dd8a] #contents *参考情報 [#bbadfd1d] *Microsoft推奨の考え方 [#t1e62f8b] -[[Version クラス:http://msdn.microsoft.com/ja-jp/library/system.version(v=vs.71).aspx]]に次のように書かれている。 #pre{{ Major: 名前は同じでも、メジャー バージョンが異なるアセンブリは互換性がありません。これは下位互換性を想定できない製品のメジャー リライトなどに当てはまります。 Minor: 2 つのアセンブリにおいて、名前とメジャー番号が同じでも、マイナ番号が異なる場合は、下位互換性を目的とした大幅な改良が行われていることを示します。これは製品のポイント リリースや、完全下位互換の新しいバージョンの製品などに当てはまります。 Build: ビルド番号が異なる場合は、同一ソースの再コンパイルが行われたことを示します。これはプロセッサ、プラットフォーム、コンパイラなどが変更された場合に当てはまります。 Revision: 名前、メジャー バージョン番号、およびマイナ バージョン番号が同じで、リビジョンが異なるアセンブリは、完全互換を目的としています。これは前のリリースのアセンブリのセキュリティ ホールを修正する場合に当てはまります。 }} -つまり1.2.10.3というバージョンのセキュリティをフィックスした場合、1.2.11.4とかになるのか。 -機能を追加する場合、1.2.X.X→1.3.X.Xとどんどん上がっていくのだが大丈夫か。 *他の考え方 [#b314a734] -偶然検索して見つけた[[バージョンの考え方:http://www2.opro.net/jp/opss/docs/version.html]]に書いてあるほうがしっくりくる。 #pre{{ メジャーバージョン・・・製品を根本から変更する場合に変更されます。 マイナーバージョン・・・大幅な仕様変更・機能追加をする場合に変更されます。 リビジョン・・・仕様変更・機能追加をする場合に変更されます。 ビルド・・・修正パッチごとに変更されます。 }}