Она объединяет элементы MFC (Microsoft Foundation Classes), WFC (Windows Foundation Classes) и часть API, используемую Visual Basic.

Третья составляющая (ASP.Net) представляет собой надстройку на.д классами, которая дает возможность пользоваться объектно-ориентированной технологией при разработке типовых элементов HTML-интерфейса. Фактически выполняемые на стороне сервера, эти элементы проецируют функции пользовательского интерфейса в виде HTML-кода. Однако при разработке сервера имеется возможность использовать мощный аппарат, предоставляемый объектной моделью программирования. Результат — резкое упрощение процесса построения web-приложений. В дополнение к этому ASP.Net поддерживает достаточно новую концепцию или модель разработки программ. Вы, наверное, слышали о ней, как о технологии «тонкого» клиента. Основная суть этой модели — предоставление кода пользователю не в виде инсталлируемого продукта, а в виде временной услуги (service).

Код, который создан на основе среды разработки .Net Framework, носит название управляемого кода {managed code) в отличие от обычного, неуправляемого кода (unmanaged code). В режиме .Net компиляторы рассмотренных языков производят метаданные (metadata), которые сопровождают сам код. Это означает, что они генерируют дополнительную информацию, описывающую типы данных, объекты и ссылки. Библиотека времени исполнения (Common Language Runtime) использует метаданные для поиска и загрузки объектов, запуска функций, передачи параметров, размещения объектов в памяти.
Важной функцией, которую выполняет библиотека времени исполнения, является автоматическое освобождение памяти, занимаемой объектами, которые более не используются. Это нововведение призвано повысить надежность как отдельных компонентов, так и всего разрабатываемого приложения. Данные, время жизни которых управляется таким образом, называются управляемыми данными (managed data). Если ваш код является управляемым (managed code), то вы можете пользоваться управляемыми данными, но можете и не использовать их.Более того, вы можете и не знать, являются ли ваши данные управляемыми.
Общая библиотека времени исполнения (CLR) упрощает создание приложений и их составляющих, которые разработаны на разных языках и настроены (target) на использование CLR. Эти модули могут быть интегрированы в одном проекте и взаимодействовать между собой так, как будто они были созданы на одном языке. Например, вы можете декларировать класс, а затем создать производный от него класс уже на другом языке. Можно и просто пользоваться методами класса в рамках модуля, написанного на другом языке. Такая интеграция стала возможной потому, что компиляторы и инструменты разных языков пользуются общей системой типов, определенной в CLR, а также новыми правилами игры, принятыми при ее разработке.