Общие сведения о платформе .NET — .NET Framework

  • Статья
  • Чтение занимает 5 мин

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

  • Обеспечение согласованной объектно-ориентированной среды программирования для локального сохранения и выполнения объектного кода, для локального выполнения кода, распределенного в Интернете, либо для удаленного выполнения.

  • Предоставление среды выполнения кода, в которой:

    • сведена к минимуму вероятность конфликтов в процессе развертывания программного обеспечения и управления его версиями;

    • гарантируется безопасное выполнение кода, включая код, созданный неизвестным или не полностью доверенным сторонним изготовителем;

    • исключаются проблемы с производительностью сред выполнения скриптов или интерпретируемого кода;

  • обеспечиваются единые принципы разработки для разных типов приложений, таких как приложения Windows и веб-приложения;

  • обеспечивается взаимодействие на основе промышленных стандартов, которое гарантирует интеграцию кода платформы . NET Framework с любым другим кодом.

Примечание

Платформа .NET Framework изменяется ежемесячно с устранением ошибок, связанных с безопасностью и надежностью. Платформа .NET Framework будет по-прежнему включена в состав Windows. Исключать ее не планируется. Вам не нужно переносить приложения платформа .NET Framework, но для новой разработки используйте .NET 6 или более поздней версии.

Платформа .NET Framework состоит из общеязыковой среды выполнения (среды CLR) и библиотеки классов .NET Framework. Основой платформы .NET Framework является среда CLR. Среду выполнения можно считать агентом, который управляет кодом во время выполнения и предоставляет основные службы, такие как управление памятью, управление потоками и удаленное взаимодействие. При этом средой накладываются условия строгой типизации и другие виды проверки точности кода, обеспечивающие безопасность и надежность. Фактически основной задачей среды выполнения является управление кодом. Код, который обращается к среде выполнения, называют управляемым кодом, а код, который не обращается к среде выполнения, называют неуправляемым кодом.

Библиотека классов является комплексной объектно-ориентированной коллекцией повторно используемых типов, которые применяются для разработки приложений — начиная с обычных приложений, запускаемых из командной строки, и приложений с графическим интерфейсом (GUI) и заканчивая приложениями, использующими последние технологические возможности ASP.NET, такие как веб-формы и веб-службы XML.

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

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

NET и веб-служб XML, обсуждаемых ниже в этой статье.

Обозреватель Internet Explorer может служить примером неуправляемого приложения, размещающего среду выполнения (в виде расширений типов MIME). Размещение среды выполнения в обозревателе Internet Explorer позволяет внедрять управляемые компоненты или элементы управления Windows Forms в HTML-документы. Такое размещение среды позволяет выполнять управляемый мобильный код и пользоваться его существенными преимуществами, в частности выполнением в условиях неполного доверия и изолированным хранением файлов.

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

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

Возможности среды CLR

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

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

Среда выполнения также обеспечивает надежность кода, реализуя инфраструктуру строгой типизации и проверки кода, которую называют системой общих типов (CTS). Система общих типов обеспечивает самоописание всего управляемого кода. Различные языковые компиляторы корпорации Microsoft и независимых изготовителей создают управляемый код, удовлетворяющий системе общих типов . Это означает, что управляемый код может принимать другие управляемые типы и экземпляры, при этом обеспечивая правильность типов и строгую типизацию.

Кроме того, управляемая среда выполнения исключает многие часто возникающие проблемы с программным обеспечением. Например, среда выполнения автоматически управляет размещением объектов и ссылками на объекты, освобождая их, когда они больше не используются. Автоматическое управление памятью исключает две наиболее часто возникающие ошибки приложений: утечки памяти и недействительные ссылки на память.

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

Хотя среда выполнения разрабатывалась для будущего программного обеспечения, она также поддерживает сегодняшнее и вчерашнее программное обеспечение. Взаимодействие управляемого и неуправляемого кодов позволяет разработчикам использовать необходимые компоненты COM и библиотеки DLL.

Среда выполнения разработана для повышения производительности. Хотя общеязыковая среда выполнения предоставляет многие стандартные службы времени выполнения, управляемый код никогда не интерпретируется. Средство компиляции по требованию (JIT) позволяет выполнять весь управляемый код на машинном языке компьютера, где он запускается. Между тем диспетчер памяти устраняет возможность фрагментации памяти и увеличивает объем адресуемой памяти для дополнительного повышения производительности.

Наконец, среда выполнения может размещаться в высокопроизводительных серверных приложениях, таких как Microsoft SQL Server и службы IIS (Internet Information Services). Такая инфраструктура позволяет использовать управляемый код для написания собственной логики программ, пользуясь при этом высочайшей производительностью лучших производственных серверов, которые поддерживают размещение среды выполнения.

Библиотека классов .NET Framework

Библиотека классов платформы .NET Framework представляет собой коллекцию типов, которые тесно интегрируются со средой CLR. Библиотека классов является объектно-ориентированной. Она предоставляет типы, от которых управляемый код пользователя может наследовать функции. Это не только упрощает работу с типами .NET Framework, но и сокращает время изучения новых средств платформы .NET Framework. Кроме того, компоненты независимых производителей можно легко объединять с классами платформы .NET Framework.

Например, в классах коллекций .NET Framework реализуется набор интерфейсов для разработки пользовательских классов коллекций. Пользовательские классы коллекций легко объединяются с классами .NET Framework.

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

Можете использовать платформу .NET Framework для разработки следующих типов приложений и служб:

  • Консольные приложения. См. статью Построение консольных приложений.

  • Приложения с графическим интерфейсом Windows (Windows Forms). См. статью Windows Forms.

  • Приложения Windows Presentation Foundation (WPF). См. статью Windows Presentation Foundation.

  • Приложения ASP.NET. См. статью Разработка веб-приложений с помощью ASP.NET.

  • службы Windows; См. основные сведения о приложениях служб Windows.

  • Сервисноориентированные приложения, использующие Windows Communication Foundation (WCF). См. статью Разработка сервисноориентированных приложений с помощью WCF.

  • Приложения, поддерживающие бизнес-процессы Windows Workflow Foundation (WF). См. Windows Workflow Foundation.

Классы Windows Forms представляют собой полный набор типов, существенно упрощающих разработку графических интерфейсов пользователя Windows. При написании приложения веб-форм ASP.NET можно использовать классы веб-форм.

См. также

  • Требования к системе
  • Руководство по установке
  • Руководство по разработке
  • Инструменты
  • Примеры и руководства .NET
  • Браузер API .NET

Что такое Microsoft .Net Framework

У многих людей, не очень хорошо знакомых с темой возникает естественный вопрос, что же такой .Net Framework. В данной статье мы постараемся раскрыть тему максимально простыми словами.

Microsoft .Net Framework является так называемой программной платформой. В общих чертах можно провести аналогию с видеофайлами, которые не будут воспроизводиться если в системе не установлен нужный кодек. В данном случае видеофайл — это программа, написанная с использованием технологии .Net, а кодек — это сама платформа Microsoft .Net Framework. Причем для работы приложения, написанного на конкретной версии фреймворка, требуется установка именно этой версии.

Сделано это для того, чтобы разработчик мог максимально абстрагироваться от системного окружения на компьютере пользователя. Его не должно волновать, какая операционная система установлена, какая разрядность у процессора — 32-х или 64-битная, какая у него архитектура и т.д. Для запуска программы достаточно чтобы под данную систему существовала и была установлена реализация .Net Framework. Для операционных систем Windows разработкой платформы занимается её создатель, компания Microsoft. Существуют также независимые реализации, прежде всего это Mono и Portable.NET, позволяющие запускать программы .Net на других операционных системах, например на Linux.

Архитектура .Net Framework

Платформа состоит из двух частей. Основой является исполняющая среда Common Language Runtime (CLR), которая может выполнять как обычные программы, так и серверные приложения. Вторая, не менее важная часть, это библиотека классов Framework Class Library (FCL), содержащая в себе множество компонентов для работы с базами данных, сетью, вводом/выводом, файлами, пользовательским интерфейсом и т.д. Это позволяет разработчику не заниматься низкоуровневым программированием, а использовать уже готовые классы.

Важные части библиотеки классов

Windows Forms — отвечает за разработку графического интерфейса. Фактически является обёрткой над Win32 API.

ADO.NET — предоставляет доступ данным. В основном используется для работы с базами данных.

ASP.NET — технология разработки веб-сайтов, веб-приложений и веб-сервисов.

Language Integrated Query (LINQ) — реализация языка запросов, напоминающего по синтаксису SQL в программах на .Net.

Windows Presentation Foundation (WPF) — система создания графических интерфейсов, использующая язык разметки XAML. В отличие от Windows Forms использует графическую технологию DirectX, что обеспечивает более быструю работу за счет аппаратного ускорения графики.

Windows Communication Foundation (WCF) — система обмена данными между приложениями .Net. Используется для создания распределённых приложений.

Языки программирования .Net

Одной из основных идей, заложенной в . Net, является совместимость различных частей приложения, которые могут быть разработаны на разных языках. Например программа, написанная на C# может обратиться к методу из библиотеки, написанной на Visual Basic .NET, или класс на Managed C++ может быть унаследован от класса на Delphi .Net.

Языки, включённые в Visual Studio: C#, J# (последний раз в Visual Studio 2005), Visual Basic .NET, JScript .NET, C++/CLI, F# (Visual Studio 2010).

Также существуют независимые проекты, позволяющие разрабатывать программы под .Net Framework на других языках.

Надеемся что в данном материале мы ответили на вопрос, что же такое Microsoft .Net Framework, и для чего он нужен.

Обзор .NET Framework — .NET Framework

  • Статья
  • 6 минут на чтение

. NET Framework — это технология, поддерживающая создание и запуск приложений и веб-служб Windows. .NET Framework предназначен для выполнения следующих задач:

  • Обеспечьте согласованную объектно-ориентированную среду программирования независимо от того, где объектный код хранится и выполняется локально, выполняется локально, но через Интернет или удаленно.

  • Обеспечьте среду выполнения кода, которая:

    • Сводит к минимуму конфликты развертывания программного обеспечения и версий.

    • Способствует безопасному выполнению кода, включая код, созданный неизвестной или полунадежной третьей стороной.

    • Устраняет проблемы с производительностью скриптовых или интерпретируемых сред.

  • Обеспечьте единообразие работы разработчиков в различных типах приложений, таких как приложения для Windows и веб-приложения.

  • Выстраивайте все коммуникации в соответствии с отраслевыми стандартами, чтобы обеспечить интеграцию кода, основанного на . NET Framework, с любым другим кодом.

Примечание

.NET Framework ежемесячно обслуживается с исправлениями ошибок безопасности и надежности. .NET Framework по-прежнему будет входить в состав Windows, и мы не планируем его удалять. Вам не нужно переносить приложения .NET Framework, но для новой разработки используйте .NET 6 или более позднюю версию.

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

Библиотека классов — это обширная объектно-ориентированная коллекция повторно используемых типов, которые вы используете для разработки приложений, начиная от традиционных приложений командной строки или приложений с графическим пользовательским интерфейсом (GUI) и заканчивая приложениями, основанными на последних инновациях, предоставляемых ASP.NET, таких как Web. Формы и веб-службы XML.

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

Например, ASP.NET размещает среду выполнения, чтобы обеспечить масштабируемую серверную среду для управляемого кода. ASP.NET работает непосредственно со средой выполнения, чтобы включить приложения ASP. NET и веб-службы XML, которые обсуждаются далее в этой статье.

Internet Explorer — это пример неуправляемого приложения, в котором размещается среда выполнения (в виде расширения типа MIME). Использование Internet Explorer для размещения среды выполнения позволяет встраивать управляемые компоненты или элементы управления Windows Forms в HTML-документы. Размещение среды выполнения таким образом делает возможным управляемый мобильный код, но со значительными улучшениями, которые предлагает только управляемый код, такими как полунадежное выполнение и изолированное хранилище файлов.

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

В следующих разделах более подробно описаны основные функции .NET Framework.

Функции среды CLR

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

Что касается безопасности, управляемым компонентам присваивается разная степень доверия в зависимости от ряда факторов, включая их происхождение (например, Интернет, корпоративная сеть или локальный компьютер). Это означает, что управляемый компонент может или не может выполнять операции доступа к файлам, операции доступа к реестру или другие конфиденциальные функции, даже если он используется в том же активном приложении.

Среда выполнения также обеспечивает надежность кода, реализуя строгую инфраструктуру проверки типов и кода, называемую системой общих типов (CTS). CTS обеспечивает самоописание всего управляемого кода. Различные языковые компиляторы Microsoft и сторонних разработчиков генерируют управляемый код, соответствующий CTS. Это означает, что управляемый код может использовать другие управляемые типы и экземпляры, строго обеспечивая точность типов и безопасность типов.

Кроме того, управляемая среда среды выполнения устраняет многие распространенные проблемы с программным обеспечением. Например, среда выполнения автоматически обрабатывает макет объектов и управляет ссылками на объекты, освобождая их, когда они больше не используются. Это автоматическое управление памятью устраняет две наиболее распространенные ошибки приложений: утечки памяти и недопустимые ссылки на память.

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

Хотя среда выполнения предназначена для программного обеспечения будущего, она также поддерживает программное обеспечение сегодняшнего и вчерашнего дня. Взаимодействие между управляемым и неуправляемым кодом позволяет разработчикам продолжать использовать необходимые COM-компоненты и библиотеки DLL.

Среда выполнения предназначена для повышения производительности. Хотя общеязыковая среда выполнения предоставляет множество стандартных служб среды выполнения, управляемый код никогда не интерпретируется. Функция, называемая компиляцией «точно в срок» (JIT), позволяет всему управляемому коду выполняться на родном машинном языке системы, в которой он выполняется. Тем временем диспетчер памяти устраняет возможности фрагментации памяти и увеличивает локальность ссылок памяти для дальнейшего повышения производительности.

Наконец, среда выполнения может размещаться в высокопроизводительных серверных приложениях, таких как Microsoft SQL Server и Internet Information Services (IIS). Эта инфраструктура позволяет вам использовать управляемый код для написания вашей бизнес-логики, сохраняя при этом превосходную производительность лучших в отрасли корпоративных серверов, поддерживающих хостинг во время выполнения.

Библиотека классов .NET Framework

Библиотека классов .NET Framework представляет собой набор повторно используемых типов, тесно интегрированных с общеязыковой средой выполнения. Библиотека классов является объектно-ориентированной и предоставляет типы, из которых ваш собственный управляемый код получает функциональные возможности. Это не только упрощает использование типов .NET Framework, но и сокращает время, затрачиваемое на изучение новых функций .NET Framework. Кроме того, сторонние компоненты легко интегрируются с классами в .NET Framework.

Например, классы коллекций .NET Framework реализуют набор интерфейсов для разработки собственных классов коллекций. Классы ваших коллекций органично сочетаются с классами в .NET Framework.

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

  • Консольные приложения. См. раздел Создание консольных приложений.

  • Приложения Windows с графическим интерфейсом (Windows Forms). См. Формы Windows.

  • Приложения Windows Presentation Foundation (WPF). См. Фонд презентаций Windows.

  • Приложения ASP.NET. См. Веб-приложения с ASP.NET.

  • Службы Windows. См. раздел Введение в приложения-службы Windows.

  • Сервис-ориентированные приложения, использующие Windows Communication Foundation (WCF). См. Сервис-ориентированные приложения с WCF.

  • Приложения с поддержкой рабочего процесса, использующие Windows Workflow Foundation (WF). См. раздел Windows Workflow Foundation.

Классы Windows Forms представляют собой исчерпывающий набор повторно используемых типов, которые значительно упрощают разработку графического пользовательского интерфейса Windows. Если вы пишете приложение веб-формы ASP.NET, вы можете использовать классы веб-форм.

См. также

  • Системные требования
  • Руководство по установке
  • Руководство по развитию
  • Инструменты
  • примеры и руководства по .NET
  • Браузер .NET API

Что такое .NET Framework и зачем он мне нужен?

Автор:

Kevin Purdy

Комментарии (162)

Мы можем получать комиссию за ссылки на этой странице.

Уважаемый Лайфхакер,
Что такое «Microsoft .NET Framework» и зачем он мне нужен? Я пытался установить BlackBerry Desktop, но мне не удалось установить Framework. По какой-то причине я не могу скачать его с Microsoft. Что я мог сделать?

С уважением,
Нужен .NET

Уважаемый Нужен,
.NET — это среда программирования, созданная Microsoft, которую разработчики могут использовать для более простого создания приложений. Как метко выразился комментатор Дурот, «фреймворк — это просто набор кода, который программист может вызывать без необходимости писать его явно».

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

Но вы не в том мире живёте, и уж точно мы в нём не пишем. Lifehacker часто рекомендует приложения, обычно от небольших и независимых разработчиков, для работы которых требуется установить какую-либо версию .NET Framework. Это часто большая загрузка, а иногда и ошибки, как вы видели, в меньшей степени в Windows 7, но любое крупное программное исправление может привести к ошибке. Потребность BlackBerry в Framework немного необычна для крупномасштабных усилий, но не совсем неслыханна.

В большинстве случаев приложения запрашивают установку определенной версии фреймворка. Мы рекомендуем не устанавливать эту конкретную версию и вместо этого попытаться установить самую последнюю версию .NET, при условии, что ваша ОС Windows ее поддерживает. Большинство пакетов .NET имеют обратную совместимость, поэтому приложение, запрашивающее платформу 2.0, обычно может обойтись тем, что упаковано в последнюю версию: .NET Framework 4. Также убедитесь, что вы уладили свои запросы на обновление Windows, поскольку могут быть соответствующие системные исправления, которые необходимо установить, прежде чем .NET будет удобно вписываться в вашу систему.

Одна из проблем, с которой часто сталкиваются установки .NET, — это потребность в пространстве, даже если ваша система может не указывать это явно. Версия .NET 4.0 для стандартных 32-разрядных систем Windows требует 850 МБ свободного места на основном диске Windows; 64-разрядной системе Windows требуется 2 ГБ свободного места, и Windows обычно не будет спрашивать вас, есть ли у вас свободное место в другом разделе. Если свободного места меньше, чем эти суммы, вам нужно посмотреть на свой жесткий диск и освободить место.

Как проанализировать, очистить и освободить место на жестком диске

Место на жестком диске дешевле, чем когда-либо, но, как диктует закон Паркинсона, ваши данные (и, давайте посмотрим правде в глаза…

Подробнее

Еще одна распространенная проблема связана со старыми версиями .NET и, возможно, их неправильным поведением в вашей системе. в раздел «Установка и удаление программ» на панели управления (или «Удаление программ» в более новых установках Windows) и найдите все установки, связанные с «.NET Framework» или что-то очень похожее. Попробуйте удалить их отсюда с помощью стандартной процедуры удаления. , затем попробуйте снова установить более новую платформу .NET. Если это все еще не удается, пришло время обратиться к инструменту очистки .NET Framework, который был создан самой Microsoft, чтобы привести в порядок и исправить ситуацию после сложной установки .