设置程序集特性

程序集特性是提供程序集相关信息的值。 特性分为以下几组信息:

  • 程序集标识特性。

  • 信息性特性。

  • 程序集清单特性。

  • 强名称特性。

程序集标识特性

三种特性与强名称(如果适用)一起决定程序集的标识:名称、版本和区域性。 这些特性构成程序集的完整名称,并且在代码中引用程序集时需要这些特性。 您可以使用特性来设置程序集的版本和区域性。 编译器或程序集链接器 (Al.exe) 根据包含程序集清单的文件在创建程序集时设置名称值。

下表描述了版本和区域性特性。

程序集标识特性

说明

AssemblyCultureAttribute

枚举的字段表明程序集支持的区域性。 程序集也可以指定区域独立性,表明它包含用于默认区域性的资源。

注意注意
运行时将任何区域性特性未设置为 null 的程序集按附属程序集处理。此类程序集受附属程序集绑定规则约束。有关更多信息,请参见运行时如何定位程序集

AssemblyFlagsAttribute

设置程序集特性(例如,程序集是否可以并行运行)的值。 

AssemblyVersionAttribute

major.minor.build.revision 格式的数值(例如,2.4.0.0)。 公共语言运行时使用此值在强名称程序集中执行绑定操作。

注意注意
如果未向程序集应用 AssemblyInformationalVersionAttribute 特性,则 Application.ProductVersionApplication.UserAppDataPathApplication.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")];

信息性特性

您可以使用信息性特性为程序集提供其他的公司或产品信息。 下表描述了可应用于程序集的信息性特性。

信息性特性

说明

AssemblyCompanyAttribute

指定公司名称的字符串值。

AssemblyCopyrightAttribute

指定版权信息的字符串值。

AssemblyFileVersionAttribute

指定 Win32 文件版本号的字符串值。 默认值通常是程序集版本。

AssemblyInformationalVersionAttribute

字符串值,指定不是由公共语言运行时使用的版本信息,例如完整的产品版本号。

注意注意
如果将此特性应用于程序集,则可以使用 Application.ProductVersion 属性在运行时获取它指定的字符串。该字符串还用在 Application.UserAppDataPath 属性和 Application.UserAppDataRegistry 属性提供的路径和注册表项中。

AssemblyProductAttribute

指定产品信息的字符串值。

AssemblyTrademarkAttribute

指定商标信息的字符串值。

这些特性可以显示在程序集的“Windows 属性”页上,或者,可以使用 /win32res 编译器选项指定自己的 Win32 资源文件来重写这些特性。

程序集清单特性

您可以使用程序集清单特性在程序集清单中提供信息,包括标题、说明、默认别名和配置。 下面的表格描述了程序集清单的特性。

程序集清单特性

说明

AssemblyConfigurationAttribute

表明程序集配置的字符串值,例如 Retail 或 Debug。 运行时不使用此值。

AssemblyDefaultAliasAttribute

指定引用程序集要使用的默认别名的字符串值。 此值在程序集本身的名称不友好时提供友好名称,例如 GUID 值。 此值也可以用作完整程序集名称的缩写。

AssemblyDescriptionAttribute

指定总结程序集的特性和作用的简短说明的字符串值。

AssemblyTitleAttribute

为程序集指定友好名称的字符串值。 例如,名为 comdlg 的程序集可以有标题“Microsoft Common Dialog 控件”。

强名称特性

您可以使用强名称特性为程序集设置强名称。 下面的表格描述了强名称特性。

强名称特性

说明

AssemblyDelaySignAttribute

表明正在使用延迟签名的 Boolean 值。

AssemblyKeyFileAttribute

表明文件名称的字符串值,此文件中或者只包含了公钥(如果使用延迟签名),或者包含了公钥和私钥都,公钥和私钥作为参数传递至此特性的构造函数。 请注意,文件名称与输出文件路径(.exe 或 .dll)相关,与源文件路径无关。

AssemblyKeyNameAttribute

表明包含密钥对(作为参数传递至此特性的构造函数)的密钥容器。

下面的代码示例说明了在使用延迟签名来创建名为 myKey.snk 的公钥文件的强名称程序集时,要应用的特性。

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

请参见

概念

创建程序集

其他资源

使用程序集编程