Основы языка C# 2005. Евсеева О.Н - 8 стр.

UptoLike

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

12
«версионный хаос», известный так же как DLL Hell, присущий динамическим
библиотекам, и обеспечивается гибкость разработки приложений различных
версий, недоступная приложениям СОМ.
Совместимость и повторно используемый код. Для архитектуры .NET
создана объектная модель, отличающаяся от модели СОМ. Тем не менее,
приложения .NET могут взаимодействовать с приложениями СОМ и наоборот.
Кроссплатформенность. Платформа .NET позволяет создавать
программы, выполняющиеся на разных программных и технических
платформах, для которых имеется реализация среды .NET. Наример, для
операционной системы Линукс такой реализацией является проект Mono
http://www.mono-project.com/
1.3. Технология .NET
Теперь посмотрим (Рис.2) в общих чертах, как работает технология .NET,
за счет чего, каких новшеств достигаются все заявленные преимущества и
новые возможности.
Сначала разработчик выбирает среду разработки, компилятор которой
обеспечивает создание промежуточного кода на языке MSIL. При помощи
инструментов Microsoft разработчик может работать с языками С#, C++, Visual
Basic. Помимо этого еще около 20 независимых компаний анонсировали
собственные продукты или планы их разработки.
Итак, разработчик выбрал инструментарий, разработал некое приложение
и откомпилировал его. В результате получается код приложения на
промежуточном языке MSIL, который не интерпретируется в машинные
команды. Поэтому приложение .NET получается независимым от конкретных
реализаций операционной системы и аппаратной платформы.
Готовое приложение .NET состоит из сборок. Сборкаэто один или
несколько файлов, в которых помимо собственно кода MSIL приложения также
включены метаданныеразнообразная служебная информация о самом
приложении. В результате отпадает необходимость в регистрации приложения
в системном реестре, подобно приложениям СОМ, ведь вся необходимая
информация доступна вместе с приложением. Сюда же, к примеру, можно
добавить сведения о версии приложения и т. д.
Готовое приложение должно выполняться на компьютере, на котором
установлена операционная среда .NET Framework. Код приложения
взаимодействует только с операционной средой, абстрагируясь от уровня
операционной системы. Все упоминаемые в дальнейшем инструменты и
механизмы являются ее составными частями.
При запуске приложения в дело вступает среда выполнения приложения
Common Language Runtime (CLR), которая при помощи загрузчика загружает
сборки приложения и обеспечивает его выполнение. Но для этого необходимо
преобразовать код MSIL в машинные команды процессора.