Установка атрибутов сборки в коде

Атрибуты сборки — это значения, которые предоставляют сведения о сборке. Обычно они задаются в файле AssemblyInfo.cs . Атрибуты разделяются на следующие группы.

  • Атрибуты удостоверения сборки
  • Информационные атрибуты
  • Атрибуты манифеста сборки
  • Атрибуты строгого имени

Эта статья область для добавления атрибутов сборки из кода. Сведения о добавлении атрибутов сборки в проекты (не в коде) см. в разделе "Настройка атрибутов сборки" в файле проекта.

Атрибуты удостоверения сборки

Три атрибута вместе со строгим именем (если оно применимо) определяют удостоверение сборки: имя, версия, язык и региональные параметры. Эти атрибуты формируют полное имя сборки и являются обязательными при ссылке на сборку в коде. Атрибуты можно использовать для задания версии сборки и языка и региональных параметров. Компилятор или компоновщик сборок (Al.exe) задает значение имени при создании сборки на основе файла, содержащего манифест сборки.

В следующей таблице описаны атрибуты версии и языка и региональных параметров.

Атрибут удостоверения сборки Description
AssemblyCultureAttribute Перечислимое поле, указывающее язык и региональные параметры, поддерживаемые сборкой. В сборке можно также указать независимость от языка и региональных параметров, чтобы указать, что сборка содержит ресурсы для языка и региональных параметров по умолчанию. Примечание. Среда выполнения рассматривает любую сборку, у которой для атрибута языка и региональных параметров не задано значение NULL, в качестве вспомогательной сборки. Такие сборки подчиняются правилам привязки вспомогательных сборок. Дополнительные сведения см. в разделе Обнаружение сборок в среде выполнения.
AssemblyFlagsAttribute Значение, задающее атрибуты сборки: например, может ли сборка выполняться параллельно.
AssemblyVersionAttribute Числовое значение в формате основной_номер.дополнительный_номер.номер_сборки.номер_редакции (например, 2.4.0.0). Среда CLR использует это значение для выполнения операций привязки в сборках со строгими именами. Примечание. Если атрибут AssemblyInformationalVersionAttribute не применен к сборке, то номер версии, задаваемый атрибутом AssemblyVersionAttribute, используется свойствами Application.ProductVersion, Application.UserAppDataPath и Application.UserAppDataRegistry.

В следующем примере кода показано, как применить атрибуты версии и языка и региональных параметров сборки.

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

Информационные атрибуты

Информационные атрибуты можно использовать для предоставления дополнительных сведений о компании или продукте в сборке. В следующей таблице описаны информационные атрибуты, которые можно применить к сборке.

Информационный атрибут Description
AssemblyCompanyAttribute Строковое значение, содержащее название компании.
AssemblyCopyrightAttribute Строковое значение, содержащее сведения об авторских правах.
AssemblyFileVersionAttribute Строковое значение, содержащее номер версии файла Win32. Обычно по умолчанию здесь используется версия сборки.
AssemblyInformationalVersionAttribute Строковое значение, содержащее сведения о версии, которые не используются средой CLR, например полный номер версии продукта. Примечание. Если этот атрибут применен к сборке, указываемую им строку можно получить во время выполнения с помощью свойства Application.ProductVersion. Эта строка также используется в пути и разделе реестра, предоставляемых свойствами Application.UserAppDataPath и Application.UserAppDataRegistry.
AssemblyProductAttribute Строковое значение, содержащее сведения о продукте.
AssemblyTrademarkAttribute Строковое значение, содержащее сведения о товарном знаке.

Эти атрибуты могут отображаться на странице свойств Windows сборки или их можно переопределить с помощью параметра компилятора /win32res , чтобы указать файл ресурсов Win32.

Атрибуты манифеста сборки

Атрибуты манифеста сборки можно использовать для предоставления сведений в манифесте сборки, включая название, описание, псевдоним по умолчанию и конфигурацию. В следующей таблице описаны атрибуты манифеста сборки.

Атрибуты манифеста сборки Description
AssemblyConfigurationAttribute Строковое значение, содержащее конфигурацию сборки, например Retail или Debug. Среда выполнения не использует это значение.
AssemblyDefaultAliasAttribute Строковое значение, содержащее псевдоним по умолчанию, используемый для ссылки на эту сборку из других сборок. Это значение предоставляет понятное имя, если имя сборки само по себе не является понятным (например, если это значение идентификатора GUID). Это значение можно также использовать как краткую форму полного имени сборки.
AssemblyDescriptionAttribute Строковое значение, содержащее краткое описание сути и назначения сборки.
AssemblyTitleAttribute Строковое значение, содержащее понятное имя сборки. Например, сборка с именем comdlg может иметь название "Элемент управления стандартного диалогового окна Майкрософт".

Атрибуты строгого имени

Атрибуты строгого имени можно использовать для задания строгого имени сборки. В таблице ниже описываются атрибуты строгого имени.

Атрибут строгого имени Description
AssemblyDelaySignAttribute Логическое значение, указывающее, что используется отложенная подпись.
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)>

См. также