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


Манифест сборки

Каждая сборка, будь то статическая или динамическая, содержит коллекцию данных, описывающую, как элементы в сборке связаны друг с другом. Манифест сборки содержит эти метаданные сборки. Манифест сборки содержит все метаданные, необходимые для указания требований к версии сборки и удостоверения безопасности, а также все метаданные, необходимые для определения области сборки и разрешения ссылок на ресурсы и классы. Манифест сборки можно хранить в PE-файле ( .exe или .dll) с кодом общей промежуточной версии (CIL) или в автономном PE-файле, содержащем только сведения о манифесте сборки.

На следующем рисунке показаны различные способы хранения манифеста.

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

Для сборки с одним связанным файлом манифест включается в PE-файл для формирования сборки с одним файлом. Сборку с несколькими файлами можно создать с автономным файлом манифеста или манифестом, включенным в один из файлов PE в сборке.

Манифест каждой сборки выполняет следующие функции:

  • Перечисляет файлы, составляющие сборку.

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

  • Перечисляет другие сборки, от которых зависит данная сборка.

  • Предоставляет степень косвенности между потребителями сборки и сведениями о деталях её реализации.

  • Делает сборку самоописательной.

Содержимое манифеста сборки

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

Информация Описание
Имя сборки Текстовая строка, указывающая имя сборки.
Номер версии Основной и дополнительный номер версии, а также номер редакции и сборки. Общая среда выполнения использует эти номера для обеспечения соблюдения политики версий.
Культура Сведения о культуре или языке, поддерживаемых сборкой. Эти сведения следует использовать только для обозначения сборки как сателлитной сборки, содержащей специфичную для культуры или языка информацию. (Сборка, содержащая информацию о культуре, автоматически считается сателлитной сборкой.)
Сведения о строгом имени Открытый ключ от издателя, если сборка получила строгое имя.
Список всех файлов в сборке Хэш каждого файла, содержащегося в сборке, и имя файла. Обратите внимание, что все файлы, составляющие сборку, должны находиться в том же каталоге, что и файл, содержащий манифест сборки.
Справочные сведения о типе Сведения, используемые средой выполнения для сопоставления ссылки типа на файл, содержащий его объявление и реализацию. Он используется для типов, экспортируемых из сборки.
Сведения о ссылочных сборках Список других сборок, на которые статически ссылается сборка. Каждая ссылка включает имя зависимой сборки, метаданные сборки (версия, язык и региональные параметры, операционную систему и т. д.), а также открытый ключ, если сборка имеет строгое имя.

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

См. также