* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Общеязыковая исполняющая среда
31 марта 2009
После знакомства с типами, сборками, метаданными и IL можно более формализо- вано рассматривать среду исполнения .NET. Общеязыковая исполняющая среда (CLR) — это набор служб, необходимых для выполнения программного кода IL. К та- ким службам можно отнести и требуемые библиотеки. Например, если создано прило- жение MFC, то в качестве компонента среды выполнения потребуется весьма объемистая библиотека времени выполнения— mfc42.dll. Программы на Visual Basic привязаны к такому компоненту среды выполнения, как библиотека msvbvm60 . d l l , а программам на Java необходим большой набор файлов, входящих в состав виртуальной машины Java. Своя среда выполнения требуется и приложениям .NET. Главное отличие этой среды выполнения от всех тех, которые были перечислены выше, заключается в том, что единая среда выполнения .NET используется приложениями, написанными на любых языках программирования .NET.
Сама CLR состоит из двух главных компонентов. Первый компонент — это ядро среды выполнения, которое реализовано в виде библиотеки mscoree.dll. При обра- щении к приложению .NET библиотека mscoree.dll автоматически загружается в память, и затем она управляет процессом загрузки в память сборки данного прило- жения. Ядро среды выполнения ответственно за множество задач: оно занимается по- иском физического местонахождения сборки, обнаружением внутри сборки запро- шенного типа (класса, интерфейса, структуры и т.п.) на основе информации метадан- ных, компилирует IL в платформенно-зависимые команды, выполняет проверки, связанные с обеспечением безопасности, и делает еше много другой работы. Второй главный компонент CLR — это библиотека базовых классов. Сама библио- тека разбита на множество отдельных сборок, однако главная сборка библиотеки базо- вых классов представлена файлом mscorlib.dll. В библиотеке базовых классов содер- жится огромное количество типов для решения распространенных задач при создании приложения. Приложение .NET будет обязательно использовать сборку mscorlib.dll и по мере необходимости — другие сборки (как встроенные, так и создаваемые вами). На рис. 2.4 представлен путь, который проходит первичный код приложения, пре- жде чем выполнить какие-либо действия на компьютере.