Поделиться через


Атрибуты уровня сборки, интерпретируемые компилятором C#

Большинство атрибутов применяется к определенным элементам языка, таким как классы или методы. Тем не менее некоторые атрибуты являются глобальными — они применяются ко всей сборке или модулю. Например, атрибут AssemblyVersionAttribute можно использовать для встраивания сведений о версии в сборку, например следующим образом:

[assembly: AssemblyVersion("1.0.0.0")]

Глобальные атрибуты отображаются в исходном коде после любых директив using верхнего уровня и перед всеми объявлениями типов, модулей или пространств имен. Глобальные атрибуты могут содержаться в нескольких исходных файлах, однако эти файлы должны быть скомпилированы за один проход компиляции. В Visual Studio глобальные атрибуты добавляются в файл AssemblyInfo.cs в проектах .NET Framework. Эти атрибуты не добавляются в проекты .NET Core.

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

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

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

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

В следующей таблице приведены атрибуты удостоверения.

Атрибут Характер использования
AssemblyVersionAttribute Задает версию сборки.
AssemblyCultureAttribute Указывает, какой язык и региональные параметры поддерживает сборка.
AssemblyFlagsAttribute Определяет побитовое сочетание флагов для сборки, описывающих параметры JIT-компилятора, возможность переопределить целевые объекты сборки, а также вид открытого ключа сборки — полный или измененный с использованием маркера.

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

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

Атрибут Характер использования
AssemblyProductAttribute Указывает имя продукта для манифеста сборки.
AssemblyTrademarkAttribute Указывает товарный знак для манифеста сборки.
AssemblyInformationalVersionAttribute Определяет сведения о версии для манифеста сборки.
AssemblyCompanyAttribute Указывает имя организации для манифеста сборки.
AssemblyCopyrightAttribute Определяет настраиваемый атрибут, задающий уведомление об авторских правах для манифеста сборки.
AssemblyFileVersionAttribute Задает определенный номер версии для ресурса версии файла Win32.
CLSCompliantAttribute Указывает, соответствует ли сборка спецификации CLS.

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

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

Атрибут Характер использования
AssemblyTitleAttribute Указывает название сборки для манифеста сборки.
AssemblyDescriptionAttribute Указывает описание сборки для манифеста сборки.
AssemblyConfigurationAttribute Указывает конфигурацию сборки (например, "Розница" или "Отладка") для манифеста сборки.
AssemblyDefaultAliasAttribute Определяет понятный псевдоним по умолчанию для манифеста сборки.