.Netアプリに設定するバージョン情報を整理する。(ファイルバージョン、製品バージョン、アセンブリバージョン)

■バージョン番号の各セクションの意味
アセンブリに設定するバージョン番号は、[3.1.5.1] というように4つセクションで構成されます。まず、MicroSoftは以下のルールでセクションごとに意味を持たせています。

  • メジャー番号 (主要な機能をアップデート/リリースした場合に、値を増やします。)
  • マイナー番号 (ちょっとした機能をアップデート/リリースした場合に、値を増やします。)
  • ビルド番号  (ビルドするたびに、値を増やします。1日1回ビルドするなら、1ずつ増やす。)
  • リビジョン番号(通常は0固定。ビルド番号だけでは区別できない場合に利用します。)

ビルド時に自動的に値をインクリメントするためには、*で指定する。


// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]

■バージョン情報の種類
バージョン番号には、以下の3種類があります。

厳密名付きのアセンブリバインディングを行う際に使用するバージョン番号。安易に変更するとバインドできなくなります。VisualStudioのプロジェクトプロパティで設定できる。AssemblyInfo.csによる指定は、[assembly: AssemblyVersion("1.1.1.0")]

  • ファイルバージョン。AssemblyFileVersion

エクスプローラでファイルのプロパティを見た際にファイルバージョンとして表示されるバージョン番号。アセンブリバージョンのようにバインド情報としては使われない、単なる情報としてのバージョン番号。VisualStudioのプロジェクトプロパティで設定できる。AssemblyInfo.csによる指定は、[assembly: AssemblyFileVersion("4.4.4.0")]

  • 製品バージョン。AssemblyInformationalVersion

エクスプローラでファイルのプロパティを見た際に製品バージョンとして表示されるバージョン番号。アセンブリバージョンのようにバインド情報としては使われない、単なる情報としてのバージョン番号。VisualStudioのプロジェクトプロパティで設定できない。AssemblyInfo.csによる指定は、[assembly: AssemblyInformationalVersion("3.3.3.0")]