AssemblyVersionはどのようにして決められるのか?

バージョン管理の関係で気になったので調べてみた。

ビルド番号とリビジョンには、ワイルドカード(以降、「*」)を指定することにより、プログラムのバージョン更新作業を自動化することができる。ただし「*」は、アセンブリ・バージョンにのみ指定でき、ファイル・バージョンと製品バージョンには指定できないので注意してほしい。

 例えば、次のようにバージョンを3つのパートで構成してビルド番号の位置に「*」を指定してビルドを行うと、ビルド番号とリビジョンはVS.NETが自動的に決定してくれる。

[assembly: AssemblyVersion("1.0.*")]

 番号自動決定の際、ビルド番号には2000年1月1日からの経過日数が設定され、リビジョン番号には現地時間の0時からの経過秒数を2で割った値が設定される。よって、どちらも大きな数値が割り当てられることが多いので注意してほしい。