AssemblyVersion 属性と AssemblyFileVersion 属性を使用する

この記事では、AssemblyInfo.cs ファイルで 属性と AssemblyFileVersion 属性を使用AssemblyVersionする方法について説明します。

元の製品バージョン: .NET Framework
元の KB 番号: 556041

概要

AssemblyInfo.csには、2 種類のバージョンを設定するための 2 つの属性が用意されています。 このヒントでは、これら 2 つの属性を使用する方法を示します。

Microsoft .NET Framework では、各アセンブリに 2 種類のバージョン番号を設定する機会が提供されます。

AssemblyVersion

これは、ビルド中と実行時にアセンブリを検索、リンク、読み込む際にフレームワークによって使用されるバージョン番号です。 プロジェクト内の任意のアセンブリへの参照を追加すると、このバージョン番号が埋め込まれます。 実行時に、共通言語ランタイム (CLR) は、読み込むこのバージョン番号を持つアセンブリを検索します。 ただし、このバージョンは、アセンブリが厳密な名前で署名されている場合にのみ、名前、公開キー トークン、カルチャ情報と共に使用されることに注意してください。 アセンブリが厳密な名前付き署名されていない場合は、読み込みにファイル名のみが使用されます。

AssemblyFileVersion

これは、ファイル システムと同様にファイルに指定されたバージョン番号です。 これは Windows エクスプローラーによって表示され、参照のために .NET Framework またはランタイムによって使用されることはありません。

AssemblyInfo.csの属性

// Version information for an assembly consists of the following four values:
// Major Version
// Minor Version
// Build Number
// Revision
[assembly: AssemblyVersion("1.0.0.0")]  
[assembly: AssemblyFileVersion("1.0.0.0")]

絶対数の代わりに (*) を指定すると、コンパイラはビルドのたびに数値を 1 ずつ増やします。

アプリケーション アセンブリのビルド中に多くの開発者が使用するプロジェクトのフレームワーク アセンブリを構築しているとします。 新しいバージョンのアセンブリを頻繁にリリースする場合 (たとえば、毎日 1 回)、アセンブリの名前が強い場合は、新しいアセンブリをリリースするたびに参照を変更する必要があります。 これは面倒な場合があり、間違った参照につながる可能性もあります。 このような閉じたグループと揮発性のシナリオでは、 を修正 AssemblyVersion して のみを変更 AssemblyFileVersionすることをお勧めします。 アセンブリ ファイルのバージョン番号を使用して、アセンブリの最新リリースを伝えます。 この場合、開発者は参照を変更する必要がないため、参照パス内のアセンブリを上書きできます。 中央または最終的なリリースビルドでは、 を変更 AssemblyVersion する方が理にかなっており、ほとんどの場合はアセンブリ バージョンと同じ状態を AssemblyFileVersion 維持します。