Настройка атрибутов сборки

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

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

Совет

Эта статья посвящена добавлению атрибутов сборки из кода. Сведения о добавлении атрибутов сборки в проекты (не в коде) см. в справочнике по MSBuild для проектов пакета SDK для .NET: свойства атрибутов сборки.

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

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

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

Атрибут удостоверения сборки Описание
AssemblyCultureAttribute Перечислимое поле, указывающее язык и региональные параметры, поддерживаемые сборкой. В сборке можно также указать независимость от языка и региональных параметров, чтобы указать, что сборка содержит ресурсы для языка и региональных параметров по умолчанию. Примечание: Среда выполнения рассматривает любую сборку, для которых атрибуту culture не присвоено значение 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")>

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

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

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

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

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

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

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

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

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

Атрибут строгого имени Описание
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)>

См. также