この記事では、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
を更新することをお勧めします。 このような場合、一貫性を保つため、通常、 AssemblyFileVersion
は AssemblyVersion
と一致するように更新されます。