Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 1435 / 157 | Оценка: 4.31 / 4.00 | Длительность: 25:42:00
Лекция 3:

Обзор среды .NET Framework

Аннотация: В данной лекции рассматривается платформа .NET Framework - технический элемент, позволяющий разработчикам создавать коммерческие решения разных типов: от приложения локального стола, до сетевого приложения.

В упрощенном виде разработка и выполнение приложений .NET состоит из следующих этапов:

  • Создание программы на любом подходящем языке .NET
  • Создание байт-кода, т.е. компиляция исходного кода в модуль на промежуточном языке ( IL - Intermediate Language )
  • Объединение управляемых модулей ( managed module ) и создание сборки ( assembly )
  • Развертывание ( deploy ) или установка сборки на предназначенную платформу
  • Обращение к среде CLR ( CLR - Common Language Runtime ), которая загружает, компилирует байт-код в базовый и выполняет его.

CLR - это среда исполнения промежуточного кода MSIL. При загрузке приложения на выполнение она загружается в память первой и в последующем управляет работой приложения. В неуправляемом коде готовый машинный код сразу исполняется операционной системой. CLR же - это программа, которая включает в себя целый набор средств: JIT -компилятор, Manager Memory, Garbage Collector и другие. Все они, как посредники между приложением и операционной системой, обеспечивают выполнение приложения.

Чтобы проделать всю эту работу, необходимо задействовать несколько компонентов платформы .NET Framework, которые представлены на рисунке


Спецификация общего языка ( CLS - Common Language Specification ) - это набор правил для всех .NET - совместимых языков для успешной их работы в платформе .NET Framework.

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

Среда CLR обеспечивает выполнение приложений .NET, а также предоставляет службы, необходимые этим приложениям во время выполнения. При обращении среда CLR сама выполняет все необходимые операции, включая компиляцию, распределение памяти и управление кодом обратившегося к ней приложения.

Среда выполнения CLR работает с промежуточным представлением исходного кода, написанного на любом .NET -совместимом языке, удовлетворяющем спецификации CLS. Промежуточный код сгенерирован при компиляции исходного кода языка высокого уровня в код промежуточного языка MSIL или просто IL ( MSIL (IL) - Microsoft Intermediate Language ) и содержится в файле, называемом управляемым модулем или PE -файлом ( PE - Portable Executable - переносимый исполняемый файл Windows ).

PE-файл состоит из 4-х частей

  • Заголовок PE
  • Заголовок CLR. Этот заголовок содержит информацию, необходимую для самой среды выполнения.
  • Метаданные. Метаданные состоят из таблиц, описывающих типы данных, членов модуля и ссылок на другие модули.
  • Управляемый код. Код, который выполняется под управлением среды CLR.

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

Язык MSIL ( IL ) является промежуточным языком низкого уровня, наподобие ассемблера, и подвергается повторной компиляции при выполнении приложения. Компилятор времени выполнения приложения .NET называют JIT - компилятором ( JIT - Just In Time - как раз во время, в свое время). Последовательность загрузки, компиляции и выполнения изображена на рисунке


Сборки ( Assembly ) - развертываемый блок приложений .NET, содержащий в себе все необходимое для нормальной работы. Любое приложение .NET является сборкой. Сборки могут содержать один или несколько управляемых модулей, файлы ресурсов (рисунки, HTML ). Сборки позволяют улучшить защиту и доступ к коду, развертывание и контроль версий. Различные сборки могут располагаться в одной и той же системе и два разных приложения могут использовать две различные версии одной сборки. Проблемы DLL больше нет, когда замена DLL на более новую влечет за собой переделку кода приложений. Для установки сборки достаточно скопировать ее в нужный каталог.

Типы данных C#


Максим Филатов
Максим Филатов

Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет:

Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.

 

Как активировать код?