Атрибуты уровня сборки, интерпретируемые компилятором 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 | Определяет понятный псевдоним по умолчанию для манифеста сборки. |