アセンブリ属性の設定
アセンブリ属性は、アセンブリについての情報を提供する値です。 属性は次の情報に分類されます。
アセンブリ ID 属性。
情報属性。
アセンブリ マニフェスト属性。
厳密な名前の属性。
アセンブリ ID 属性
アセンブリは、名前、バージョン、およびカルチャの 3 つの属性と、適用される場合は厳密な名前によって識別されます。 これらの属性は、アセンブリの完全な名前を形成し、コード内でアセンブリを参照するときに必要になります。 属性を使用して、アセンブリのバージョンとカルチャ設定を設定できます。 コンパイラまたはアセンブリ リンカー (Al.exe) は、アセンブリの作成時に、アセンブリ マニフェストを格納するファイルに基づいて名前の値を設定します。
バージョン属性とカルチャ属性の説明を次の表に示します。
アセンブリ ID 属性 |
説明 |
---|---|
アセンブリがサポートするカルチャを示す列挙フィールド。 カルチャを依存しないように指定することもできます。その場合、アセンブリは既定のカルチャのリソースを格納することを示します。
メモ
ランタイムは、カルチャ属性が null に設定されていないすべてのアセンブリを、サテライト アセンブリとして扱います。サテライト アセンブリには、サテライト アセンブリ バインディング規則が適用されます。詳細については、「ランタイムがアセンブリを検索する方法」を参照してください。
|
|
アセンブリを side-by-side 実行するかどうかなどのアセンブリ属性を設定する値。 |
|
major.minor.build.revision 形式の数値 (たとえば、2.4.0.0)。 共通言語ランタイムは、この値を使用して、厳密な名前付きアセンブリでのバインディング操作を実行します。
メモ
AssemblyInformationalVersionAttribute 属性がアセンブリに適用されていない場合、Application.ProductVersion、Application.UserAppDataPath、および Application.UserAppDataRegistry の各プロパティでは、AssemblyVersionAttribute 属性で指定されたバージョン番号が使用されます。
|
バージョン属性とカルチャ属性をアセンブリに適用する方法を次のコード例で示します。
' Set version number for the assembly.
<Assembly:AssemblyVersionAttribute("4.3.2.1")>
' Set culture as German.
<Assembly:AssemblyCultureAttribute("de")>
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")]
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")]
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")];
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")];
情報属性
情報属性は、アセンブリに追加の会社情報または製品情報を指定する場合に使用できます。 アセンブリに適用できる情報属性の説明を次の表に示します。
情報属性 |
説明 |
---|---|
会社名を指定する文字列値。 |
|
著作権情報を指定する文字列値。 |
|
Win32 ファイル バージョン番号を指定する文字列値。 通常、この属性の既定値はアセンブリ バージョンです。 |
|
完全な製品バージョン番号など、共通言語ランタイムが使用しないバージョン情報を指定する文字列値。
メモ
この属性をアセンブリに適用した場合は、Application.ProductVersion プロパティを使用して、この属性で指定された文字列を実行時に取得できます。この文字列は、Application.UserAppDataPath プロパティおよび Application.UserAppDataRegistry プロパティで提供されるパスとレジストリ キーでも使用されます。
|
|
製品情報を指定する文字列値。 |
|
商標情報を指定する文字列値。 |
これらの属性は、アセンブリの [ウィンドウ プロパティ] ページに表示できます。また、独自の Win32 リソース ファイルを指定するために、/win32res コンパイラ オプションを使用してこれらの属性をオーバーライドすることもできます。
アセンブリ マニフェスト属性
アセンブリ マニフェスト属性を使用して、タイトル、説明、既定のエイリアス、構成などの情報をアセンブリ マニフェストに指定できます。 アセンブリ マニフェスト属性の説明を、次の表に示します。
アセンブリ マニフェスト属性 |
説明 |
---|---|
Retail や Debug など、アセンブリの構成を示す文字列値。 ランタイムはこの値を使用しません。 |
|
アセンブリの参照に使用する既定のエイリアスを指定する文字列値。 この値は、アセンブリ自体の名前がフレンドリ名ではない場合 (GUID 値の場合など) に、フレンドリ名を指定します。 この値は、完全なアセンブリ名の略称としても使用できます。 |
|
アセンブリの特性と目的を要約した短い説明を指定する文字列値。 |
|
アセンブリのフレンドリ名を指定する文字列値。 たとえば、comdlg という名前のアセンブリに Microsoft Common Dialog Control というタイトルを付けることができます。 |
厳密な名前の属性
厳密な名前の属性を使用すると、アセンブリに厳密な名前を設定できます。 厳密な名前の属性の説明を、次の表に示します。
厳密な名前の属性 |
説明 |
---|---|
遅延署名が使用されていることを示すブール値。 |
|
この属性のコンストラクターにパラメーターとして渡される公開キー (遅延署名を使用する場合)、または公開キーと秘密キーを格納するファイルの名前を示す文字列値。 ファイル名は、ソース ファイルのパスではなく出力ファイルのパス (.exe または .dll) と関連しています。 |
|
この属性のコンストラクターにパラメーターとして渡されるキー ペアを格納するキー コンテナーを示します。 |
次のコード例では、遅延署名を使用して、公開キー ファイル myKey.snk を使用する厳密な名前付きアセンブリを作成するときに適用する属性を示します。
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];