C# コンパイラによって解釈されるアセンブリ レベルの属性
ほとんどの属性は、クラスやメソッドなど、特定の言語要素に適用されます。ただし、属性の中にはグローバルなものがあり、アセンブリまたはモジュール全体に適用されます。 たとえば、AssemblyVersionAttribute 属性は、次のように、バージョン情報をアセンブリに埋め込むときに使用できます。
[assembly: AssemblyVersion("1.0.0.0")]
ソース コードでは、グローバル属性は、トップレベルの using
ディレクティブより後、型、モジュール、または名前空間の宣言より前に指定します。 グローバル属性は複数のソース ファイルに指定できますが、それらのファイルは、1 つのコンパイル パスでコンパイルする必要があります。 Visual Studio によって、.NET Framework プロジェクトの AssemblyInfo.cs ファイルにグローバル属性が追加されます。 これらの属性は、.NET Core プロジェクトには追加されません。
アセンブリの属性は、アセンブリに関する情報を提供する値です。 これらは次のカテゴリに分けられます。
- アセンブリ ID 属性
- 情報属性
- アセンブリ マニフェスト属性
アセンブリ ID 属性
アセンブリの ID は、名前、バージョン、カルチャの 3 つの属性によって識別されます (適用できる場合は厳密な名前も使用されます)。 アセンブリの完全な名前を形成するこれらの属性は、コード内でアセンブリを参照するときに必要になります。 アセンブリのバージョンとカルチャは、属性を使用して設定できます。 ただし、名前の値は、コンパイラ、[アセンブリ情報] ダイアログ ボックスの Visual Studio IDE、またはアセンブリ リンカー (Al.exe) (アセンブリの作成時) によって設定されます。 アセンブリ名は、アセンブリ マニフェストに基づいています。 AssemblyFlagsAttribute 属性は、アセンブリの複数のコピーが共存できるかどうかを指定します。
次の表に ID 属性を示します。
属性 | 目的 |
---|---|
AssemblyVersionAttribute | アセンブリのバージョンを指定します。 |
AssemblyCultureAttribute | アセンブリがサポートするカルチャを指定します。 |
AssemblyFlagsAttribute | アセンブリに関するフラグのビット単位の組み合わせを指定し、Just-In-Time (JIT) コンパイラ オプション (そのアセンブリが再ターゲット可能かどうか、完全またはトークン化された公開鍵があるかどうか) を記述します。 |
情報属性
情報属性は、追加の会社情報や製品情報をアセンブリに指定する場合に使用します。 次の表は、System.Reflection 名前空間で定義されている情報属性を示しています。
属性 | 目的 |
---|---|
AssemblyProductAttribute | アセンブリ マニフェストの製品名を指定します。 |
AssemblyTrademarkAttribute | アセンブリ マニフェストの商標を指定します。 |
AssemblyInformationalVersionAttribute | アセンブリ マニフェストの情報バージョンを指定します。 |
AssemblyCompanyAttribute | アセンブリ マニフェストの会社名を指定します。 |
AssemblyCopyrightAttribute | アセンブリ マニフェストの著作権を指定するカスタム属性を定義します。 |
AssemblyFileVersionAttribute | Win32 ファイル バージョン リソースの特定のバージョン番号を設定します。 |
CLSCompliantAttribute | アセンブリが共通言語仕様 (CLS) に準拠しているかどうかを示します。 |
アセンブリ マニフェスト属性
アセンブリ マニフェスト属性を使用すると、アセンブリ マニフェストの情報を指定できます。 属性には、タイトル、説明、既定のエイリアス、および構成が含まれます。 次の表は、System.Reflection 名前空間で定義されているアセンブリ マニフェスト属性を示しています。
属性 | 目的 |
---|---|
AssemblyTitleAttribute | アセンブリ マニフェストのアセンブリ タイトルを指定します。 |
AssemblyDescriptionAttribute | アセンブリ マニフェストのアセンブリの説明を指定します。 |
AssemblyConfigurationAttribute | アセンブリ マニフェストのアセンブリ構成 (小売、デバッグなど) を指定します。 |
AssemblyDefaultAliasAttribute | アセンブリ マニフェストのわかりやすい既定の別名を定義します。 |
.NET