Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 12 стр.

UptoLike

Составители: 

12
Сборка это файл или набор файлов, в совокупности составляю-
щих логическую единицу. В сборку входят управляемые модули, а так-
же и другие типы файлов (например, изображения). Один из управляе-
мых модулей, входящих в сборку должен содержать декларацию (ma-
nifest). Физически декларация является просто дополнительными мета-
данными. Когда компилятор создает управляемый модуль, одновремен-
но являющийся и сборкой, декларация просто помещается в метаданные
модуля. Логически декларация это описание всей сборки. Наиболее
важными элементами декларации являются:
имя сборки;
список всех файлов сборки вместе с криптографическими хеш-
значениями, вычисленными по содержимому файлов;
список типов данных, экспортируемых другими файлами сборки,
и информация, связывающая эти типы данных с файлами, где они
определены;
номер версии в формате major.mmor.build.revision (например,
1.0.3705-0).
Большинство сборок содержит один файл, но иногда содержат и
несколько файлов. Все файлы в составе одной сборки должны нахо-
диться в одной папке. Когда с помощью компилятора С# создается про-
стой ЕХЕ модуль, то он является не только управляемым модулем, но и
сборкой. Большинство компиляторов могут создавать управляемые мо-
дули, не являющиеся сборками, а также добавлять другие файлы к
сборкам, которые они создают. В состав .NET Framework SDK входит
утилита AL (Assembly Linker) для объединения файлов в сборки. Мно-
гофайловые сборки обычно служат для объединения модулей, написан-
ных на разных языках, и для объединения управляемых модулей с
обычными файлами, содержащими изображения в формате JPEG и дру-
гие ресурсы, Многофайловые сборки также применяются для разделе-
ния приложений на отдельные загружаемые части, что может приго-
диться в случае развертывания приложения через Интернет.
При отсутствии специальных указаний компиляторы генерируют
нестрого именованные (weakly named) сборки. Это означает, что сборка
не имеет криптографической подписи и для ее идентификации CLR ис-
пользует только имя, указанное в декларации (представляющее собой
лишь имя файла сборки без расширения). Однако сборки могут быть и
строго именованы (strongly named). Такие сборки содержат открытый
ключ разработчика, а также цифровую подпись, являющуюся хэш-
значением, сгенерированным для декларации сборки, в которой хранит-
ся открытый ключ.