* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Двоичные файлы .NET
31 марта 2009

Когда с помощью компилятора для платформы .NET создается модуль с расши-
рением . d l l или .ехе, содержимое этого модуля представляет сборку на промежу-
точном языке (IL).
Назначение IL аналогично байт-коду Java — он компилируется в специфичные для
платформы команды только при необходимости, т.е. когда к блоку команд IL обраща-
ется среда исполнения .NET.
Помимо команд IL, двоичные модули .NET содержат также метаданные, которые
подробно описывают все типы, использованные в модуле. Например, если у вас внутри
сборки есть некоторый класс, то в метаданных этой сборки будет содержаться информа-
ция о базовом классе для этого класса, данные о том, какие интерфейсы предусмотрены
для него, а также полное описание всех методов, свойств и событий этого класса.
Во многих отношениях метаданные .NET являются значительным усовершенство-
ванием по сравнению с классической информацией о типах в СОМ. Классические
двоичные файлы СОМ обычно описываются с помощью ассоциированной библиоте-
ки типов. Проблема с информацией о типах в СОМ заключается в том, что никто не
может гарантировать вам, что эта информация окажется полной, так как за создание
этих данных отвечает профаммист. В отличие от СОМ, метаданные в среде .NET ав-
томатически генерируются компилятором, создающим приложение, и поэтому явля-
ются исчерпывающе полными. В метаданных .NET содержится информация абсолют-
но обо всех типах, которые используются в сборке (классах, структурах, перечислени-
ях и т.д.), а также о каждом свойстве, методе или событии каждого типа.
Еще одно отличие метаданных .NET от информации СОМ заключается в том, что
в метаданных .NET перечислены все ссылки на внешние модули и сборки, которые
потребуются для нормального выполнения сборки .NET. За счет этого можно считать
сборки .NET полностью самодокументируемыми. В результате, например, отпадает
необходимость регистрировать двоичные файлы .NET в системном реестре.
Метаданные описывают не только типы, используемые в сборке, но и саму сборку.
Эта часть метаданных называется манифестом. В манифесте содержится информация
о текущей версии сборки, об использованных ограничениях по безопасности, о под-
держиваемом языке (английском, русском и т.д.), а также список всех внешних сбо-
рок, которые потребуются для нормального выполнения профаммы.
В подавляющем большинстве случаев двоичный файл .NET и сборка — это одно и то
же. И если говорится о DLL-библиотеке для .NET, то понятия "двоичный файл"
и "сборка" являются синонимами. Но сборка может состоять как из одного, так и из
нескольких двоичных файлов. В сборке из одного файла содержатся и манифест,
и метаданные, и команды IL. В сборке из нескольких двоичных файлов каждый дво-
ичный файл называется модулем. При создании таких многофайловых сборок один из
двоичных файлов должен содержать манифест сборки (в нем могут также находиться
и другие данные, в том числе команды IL). Все остальные модули могут содержать
только метаданные типов и команды IL.
Единственная причина для создания многофайловой сборки — это большая гибкость
при развертывании приложения. Например, если пользователь обращается к удаленной
сборке, которая должна быть зафужена на его локальный компьютер, среда исполнения
зафузит лишь те модули сборки, которые действительно необходимы. Такое решение
позволит избежать ненужного сетевого трафика и увеличит скорость работы профаммы.

Теги: структурное программирование, параллельное программирование .NET

Статьи по теме:

Создание компонента DoughnutMachine
Установка сборок в виде компилированных образов
Создание производных элементов управления
Примеси (mixin)
Интерфейсы как средство достижения полиморфизма
Отображение сообщений об ошибках
Промежуточный язык
Карринг (currying)
Добавление формы к проекту
Конфигурирование защиты по правам доступа к коду
Создание классов
Всё новое - это хорошо забытое старое
Создание класса Demo
Класс DataViewManager
Преобразование типов
| .NET | vitek |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Двоичные файлы .NET. Регион сайта: Москва и Санкт-Петербург