Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция3.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
669.7 Кб
Скачать

Сборки в среде clr

Сборки являются структурными элементами приложений .NET Framework; они составляют основную единицу развертывания, управления версиями, повторного использования, областей действия активации и разрешений безопасности.

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

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

1 Общие сведения о сборках

Сборка обладает следующими свойствами.

  • Содержит код, выполняемый средой CLR. При отсутствии манифеста сборки код на промежуточном языке MSIL, находящийся в переносимом исполняемом (PE) файле, выполняться не будет. Каждая сборка может иметь только одну точку входа (т. е. DllMain , WinMain или Main ).

  • Создает границу безопасности. Сборка представляет собой единицу, для которой запрашиваются и предоставляются разрешения.

  • Создает границу типов. Каждое удостоверение типа включает имя сборки, в которой располагается данный тип. Тип с именем MyType, загруженный в области действия одной сборки, не совпадает с типом MyType, загруженным в области действия другой сборки.

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

Сборки могут быть:

  • статическими – такие, которые могут включать в себя типы платформы .NET Framework (интерфейсы и классы), а также ресурсы сборки (рисунки, JPEG-файлы, файлы ресурсов и т.д.). Статические сборки хранятся на диске в виде переносимых исполняемых (PE) файлов.

  • динамическими - , которые запускаются непосредственно из памяти и не сохраняются на диск перед выполнением, а только после.

2 Содержимое сборок

В общем случае статическая сборка может состоять из четырех элементов.

  • Манифест сборки, который содержит метаданные сборки.

  • Метаданные типов.

  • Реализующий типы код на промежуточном языке MSIL.

  • Набор ресурсов.

Обязательным является лишь манифест сборки, однако остальные типы ресурсов необходимы для обеспечения нужной функциональности сборки.

Существует несколько способов группировки этих элементов в сборку. Причем сборка может состоять из одного или нескольких файлов.

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

Любая сборка, статическая или динамическая, содержит коллекцию данных с описанием того, как ее элементы связаны друг с другом. Эти метаданные содержатся в манифесте сборки.

Манифест сборки содержит все метаданные, необходимые для задания требований сборки к версиям и удостоверения безопасности, а также все метаданные, необходимые для определения области действия сборки и разрешения ссылок на ресурсы и классы.

Манифест сборки может храниться в PE-файле (EXE или DLL) с кодом MSIL или же в отдельном PE-файле, содержащем только данные манифеста.

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

Манифест сборки предназначен для следующих задач:

  • перечисление файлов, составляющих сборку;

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

  • перечисление других сборок, от которых зависит эта сборка;

  • обеспечение косвенного обращения пользователей сборки к подробностям ее реализации;

  • предоставление собственного описания сборки;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]