2013年6月6日木曜日

ソフトウェアにつきもののバージョンとは?



バージョンは数字だけではなく文字の場合もあります。
  Stable:安定版。より多くのテストがなされ、一般に安定して使えるもの
  Beta:ベータ版。新しい機能をより早く試してみたい人向け。多少不安定な場合もあり
  Dev:開発版。開発者向けのプレビュー版
  Pre-Alpha(Nightly Build)
  Alpha
  Beta
  RC(Release Candidate)
  RTM(Release to Manufacturing)または、GM(Golden Master)
  GA(General Availability)

.Net Frameworkのアプリケーションの場合、バージョンは4つの数値をドットで区切ったものとなり、3つの種類がある。
  アセンブリバージョン AssemblyVersion
     CLRが利用するアセンブリ内部に保存されるバージョン番号
     厳密名をもつアセンブリをバインドする際にCLRが利用する。

  ファイルバージョン   AssemblyFileVersion
     Win32ファイルバージョンリソースに格納。情報提供用。
     dllや、exeを右クリックしたプロパティに表示されるフィルバージョン
 

  製品バージョン    AssemblyInformationalVersion
     Win32ファイルバージョンリソースに格納。情報提供用。
     dllや、exeを右クリックしたプロパティに表示される製品バージョン


4つの数値は次の意味がある。(4つの数値をa.b.c.dとして説明する。)
  a.b
     従来型の 1.0→1.1→2.0 と進んで行く系列。外部仕様変更(=リリース)がある毎に
     数字を増やす。0.1増やすのか1増やすのかは会社毎にルールがあるはず。)

  c
     daily build 番号。1日に1ずつ増やす。
     アセンブリ・バージョンの場合、「*」で指定可能。「*」の場合、2000年1月1日からの
     経過日数が設定される。
     ファイルバージョン、製品バージョンの指定が省略されている場合、
     アセンブリバージョンの値となる。

  d
     1日の中でのRevision番号。
     アセンブリ・バージョンの場合、「*」で指定可能。「*」の場合、現地時間の0時からの
     経過秒数を2で割った値が設定される。(1日経てば番号が「0」に戻る。)
     ファイルバージョン、製品バージョンの指定が省略されている場合、
     アセンブリバージョンの値となる。


アセンブリに厳密名を付けているアプリケーションならば、ビルドのたびにバージョン番号が変更されることになるので、「*」は使わない方が無難である
(※厳密名付きアセンブリはバージョン・チェックが行われるため、自動的なバージョンの変更が問題となる可能性がある)



==== 参考 ====
アプリケーションのバージョン情報の書き方
http://memomo2.blogspot.jp/2016/02/blog-post.html

意外と知らないバージョン表記・数字の豆知識
http://www.atmarkit.co.jp/fjava/column/andoh/andoh51.html

[Tips]アセンブリファイルが持つ3種類のバージョン番号の意味するところ
http://blogs.wankuma.com/ogiogi/archive/2008/05/22/138836.aspxr
AssemblyVersion, AssemblyFileVersion の設定の仕方
http://kamiyn.wordpress.com/2007/01/04/assemblyversion-assemblyfileversion-%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%81%ae%e4%bb%95%e6%96%b9/
アセンブリにバージョン情報を設定するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/187asmverinfo/asmverinfo.html

0 件のコメント:

コメントを投稿