アセンブリ属性の設定Setting Assembly Attributes

アセンブリの属性は、アセンブリに関する情報を提供する値です。Assembly attributes are values that provide information about an assembly. 属性は、次のような情報に分類されます。The attributes are divided into the following sets of information:

  • アセンブリ ID 属性。Assembly identity attributes.

  • 情報属性。Informational attributes.

  • アセンブリ マニフェスト属性。Assembly manifest attributes.

  • 厳密な名前の属性。Strong name attributes.

アセンブリ ID 属性Assembly Identity Attributes

アセンブリは、名前、バージョン、およびカルチャの 3 つの属性と、適用される場合は厳密な名前によって識別されます。Three attributes, together with a strong name (if applicable), determine the identity of an assembly: name, version, and culture. これらの属性は、アセンブリの完全な名前を形成し、コード内でアセンブリを参照するときに必要になります。These attributes form the full name of the assembly and are required when referencing the assembly in code. 属性を使用して、アセンブリのバージョンとのカルチャを設定できます。You can use attributes to set an assembly's version and culture. コンパイラまたは アセンブリ リンカー (Al.exe) は、アセンブリの作成時に、アセンブリ マニフェストを含むファイルに基づいて名前の値を設定します。The compiler or the Assembly Linker (Al.exe) sets the name value when the assembly is created, based on the file containing the assembly manifest.

バージョン属性とカルチャ属性について次の表で説明します。The following table describes the version and culture attributes.

アセンブリ ID 属性Assembly identity attribute 説明Description
AssemblyCultureAttribute アセンブリがサポートするカルチャを示す列挙フィールド。Enumerated field indicating the culture that the assembly supports. アセンブリがカルチャに依存しないように指定することもできます。その場合は、アセンブリが既定のカルチャのリソースを格納することを意味します。An assembly can also specify culture independence, indicating that it contains the resources for the default culture. 注: ランタイムは、カルチャ属性が null に設定されていないすべてのアセンブリを、サテライト アセンブリとして扱います。Note: The runtime treats any assembly that does not have the culture attribute set to null as a satellite assembly. そのようなアセンブリには、サテライト アセンブリ バインディング規則が適用されます。Such assemblies are subject to satellite assembly binding rules. 詳細については、「 ランタイムがアセンブリを検索する方法」を参照してください。For more information, see How the Runtime Locates Assemblies.
AssemblyFlagsAttribute アセンブリを並列で実行できるかどうかなどのアセンブリ属性を設定する値。Value that sets assembly attributes, such as whether the assembly can be run side by side.
AssemblyVersionAttribute major.minor.build.revision 形式の数値 (たとえば、2.4.0.0)。Numeric value in the format major.minor.build.revision (for example, 2.4.0.0). 共通言語ランタイムは、この値を使用して、厳密な名前付きアセンブリでのバインディング操作を実行します。The common language runtime uses this value to perform binding operations in strong-named assemblies. 注:AssemblyInformationalVersionAttribute 属性がアセンブリに適用されない場合、AssemblyVersionAttribute 属性によって指定されたバージョン番号が Application.ProductVersionApplication.UserAppDataPath、および Application.UserAppDataRegistry の各プロパティで使用されます。Note: If the AssemblyInformationalVersionAttribute attribute is not applied to an assembly, the version number specified by the AssemblyVersionAttribute attribute is used by the Application.ProductVersion, Application.UserAppDataPath, and Application.UserAppDataRegistry properties.

バージョン属性とカルチャ属性をアセンブリに適用する方法を次のコード例で示します。The following code example shows how to apply the version and culture attributes to an assembly.

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

情報属性Informational Attributes

情報属性は、追加の会社情報または製品情報をアセンブリに指定する場合に使用できます。You can use informational attributes to provide additional company or product information for an assembly. アセンブリに適用できる情報属性について、次の表で説明します。The following table describes the informational attributes you can apply to an assembly.

情報属性Informational attribute 説明Description
AssemblyCompanyAttribute 会社名を指定する文字列値。String value specifying a company name.
AssemblyCopyrightAttribute 著作権情報を指定する文字列値。String value specifying copyright information.
AssemblyFileVersionAttribute Win32 ファイル バージョン番号を指定する文字列値。String value specifying the Win32 file version number. 通常、この属性の既定値はアセンブリ バージョンです。This normally defaults to the assembly version.
AssemblyInformationalVersionAttribute 完全な製品バージョン番号など、共通言語ランタイムによって使用されないバージョン情報を指定する文字列値。String value specifying version information that is not used by the common language runtime, such as a full product version number. 注: この属性をアセンブリに適用した場合は、Application.ProductVersion プロパティを使用して、この属性で指定された文字列を実行時に取得できます。Note: If this attribute is applied to an assembly, the string it specifies can be obtained at run time by using the Application.ProductVersion property. この文字列は、Application.UserAppDataPath プロパティと Application.UserAppDataRegistry プロパティによって提供されるパスとレジストリ キーにも使用されます。The string is also used in the path and registry key provided by the Application.UserAppDataPath and Application.UserAppDataRegistry properties.
AssemblyProductAttribute 製品情報を指定する文字列値。String value specifying product information.
AssemblyTrademarkAttribute 商標情報を指定する文字列値。String value specifying trademark information.

これらの属性は、アセンブリの [Windows のプロパティ] ページに表示できます。また、独自の Win32 リソース ファイルを指定するために、 /win32res コンパイラ オプションを使用してこれらの属性をオーバーライドすることもできます。These attributes can appear on the Windows Properties page of the assembly, or they can be overridden using the /win32res compiler option to specify your own Win32 resource file.

アセンブリ マニフェスト属性Assembly Manifest Attributes

アセンブリ マニフェストの属性を使用すると、タイトル、説明、既定のエイリアス、構成などの情報をアセンブリ マニフェストに指定できます。You can use assembly manifest attributes to provide information in the assembly manifest, including title, description, the default alias, and configuration. アセンブリ マニフェスト属性について、次の表で説明します。The following table describes the assembly manifest attributes.

アセンブリ マニフェスト属性Assembly manifest attribute 説明Description
AssemblyConfigurationAttribute Retail (製品版) や Debug (デバッグ) など、アセンブリの構成を示す文字列値。String value indicating the configuration of the assembly, such as Retail or Debug. ランタイムはこの値を使用しません。The runtime does not use this value.
AssemblyDefaultAliasAttribute アセンブリの参照に使用する既定のエイリアスを指定する文字列値。String value specifying a default alias to be used by referencing assemblies. この値は、アセンブリ自体の名前がフレンドリ名ではない場合 (GUID 値の場合など) に、フレンドリ名を指定します。This value provides a friendly name when the name of the assembly itself is not friendly (such as a GUID value). この値は、完全なアセンブリ名の短い形式としても使用できます。This value can also be used as a short form of the full assembly name.
AssemblyDescriptionAttribute アセンブリの特性と目的を要約した短い説明を指定する文字列値。String value specifying a short description that summarizes the nature and purpose of the assembly.
AssemblyTitleAttribute アセンブリのフレンドリ名を指定する文字列値。String value specifying a friendly name for the assembly. たとえば、comdlg という名前のアセンブリに Microsoft Common Dialog Control というタイトルを付けることができます。For example, an assembly named comdlg might have the title Microsoft Common Dialog Control.

厳密な名前の属性Strong Name Attributes

厳密な名前の属性を使用すると、アセンブリに厳密な名前を設定できます。You can use strong name attributes to set a strong name for an assembly. 厳密な名前の属性について、次の表で説明します。The following table describes the strong name attributes.

厳密な名前の属性Strong name attributes 説明Description
AssemblyDelaySignAttribute 遅延署名が使用されていることを示すブール値。Boolean value indicating that delay signing is being used.
AssemblyKeyFileAttribute この属性のコンストラクターにパラメーターとして渡される公開キー (遅延署名を使用する場合) または公開キーと秘密キーの両方を格納するファイルの名前を示す文字列値。String value indicating the name of the file that contains either the public key (if using delay signing) or both the public and private keys passed as a parameter to the constructor of this attribute. なお、このファイル名は、ソース ファイルのパスではなく出力ファイルのパスから見た相対パス名 (.exe または .dll) です。Note that the file name is relative to the output file path (the .exe or .dll), not the source file path.
AssemblyKeyNameAttribute この属性のコンストラクターにパラメーターとして渡されるキー ペアを格納するキー コンテナーを示します。Indicates the key container that contains the key pair passed as a parameter to the constructor of this attribute.

次のコード例では、遅延署名を使用し、公開キー ファイル myKey.snkを使用する厳密な名前付きアセンブリを作成する場合に適用する属性を示します。The following code example shows the attributes to apply when using delay signing to create a strong-named assembly with a public key file called myKey.snk.

[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>

関連項目See also