次の方法で共有


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

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

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

まとめ

AssemblyInfo.csには、異なる種類のバージョン番号を定義するための 2 つの属性が用意されています。 この記事では、これらの属性を効果的に使用する方法について説明します。

Microsoft .NET Framework では、各アセンブリに 2 種類のバージョン番号を設定できます。

AssemblyVersion(アセンブリのバージョン)

AssemblyVersion は、ビルド時および実行時にアセンブリを検索、リンク、読み込む際にフレームワークによって使用されるバージョン番号です。 プロジェクト内のアセンブリへの参照を追加すると、このバージョン番号が埋め込まれます。 実行時に、共通言語ランタイム (CLR) はこのバージョン番号を使用してアセンブリを読み込みます。

注: このバージョンは、アセンブリが厳密な名前 (署名済み) である場合にのみ、アセンブリの名前、公開キー トークン、およびカルチャ情報と共に使用されます。 アセンブリが厳密な名前でない場合は、読み込みにファイル名のみが使用されます。

AssemblyFileVersion

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")]

特定の数値の代わりにアスタリスク (*) を使用すると、コンパイラはビルドごとに値を自動的にインクリメントできます。

たとえば、多くの開発者が使用するフレームワーク アセンブリを構築していて、新しいバージョンを頻繁にリリースする場合 (毎日など)、アセンブリに厳密な名前が付けられている場合、開発者は各リリースで参照を更新する必要があります。 面倒な場合があり、間違った参照につながる可能性があります。

このような閉じたグループと揮発性のシナリオでは、 AssemblyVersion を固定し、 AssemblyFileVersionのみを更新することをお勧めします。 これにより、開発者はプロジェクト参照を変更せずに、参照パス内のアセンブリを上書きできます。

中央または最終的なリリース ビルドの場合は、重要な変更を反映するように AssemblyVersion を更新することをお勧めします。 このような場合、一貫性を保つため、通常、 AssemblyFileVersionAssemblyVersion と一致するように更新されます。