Overview of .net framework

Microsoft NET Framework — что это такое?

Наверное, вы знаете, что основное занятие программистов — написание кода. При этом они используют различные языки программирования, позволяющие сказать компьютеру, что он должен делать:

Но есть одна проблема — языки программирования довольно примитивны. С их помощью можно легко выполнять простые действия вроде сложения и умножения. А всё остальное требует долгой и усердной работы. Хотите вывести текст или изображения на экран? Тогда придётся написать много кода, используя самые простые элементы языка.

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

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

Но .NET Framework — намного больше, чем просто набор дополнительного кода. Он включает в себя инструменты, призванные сократить время разработки и дополнительные API, которые программисты могут использовать для простого взаимодействия с такими сервисами как Windows Store. Вместо того чтобы вручную писать весь необходимый код для поддержки универсальной платформы Windows, можно воспользоваться .NET Framework:

Есть только один недостаток разработки приложений с использованием .NET Framework — их невозможно запустить, если .NET не установлен в вашей системе.

.NET Framework состоит из двух частей. Первая часть включает в себя набор заранее написанного кода (официально именуемого SDK, Dev Packs или «Пакеты разработчика»). Вторая часть включает в себя программу, которая может интерпретировать код .NET Framework в команды для операционной системы. Эта часть, которую называют «средой выполнения», позволяет запускать программы, написанные с использованием .NET Framework.

В этом отношении .NET Framework напоминает Java — для использования написанных на нём приложений необходимо скачать среду выполнения Java Runtime Environment.

Говоря кратко, зачем нужен Microsoft NET Framework: если вы простой пользователь, который не собирается заниматься программированием, вам потребуется только среда выполнения .NET Framework.

Remarks for older versions

.NET Framework versions 2.0, 3.0, and 3.5 are built with the same version of the CLR (CLR 2.0). These versions represent successive layers of a single installation. Each version is built incrementally on top of the earlier versions. It’s not possible to run versions 2.0, 3.0, and 3.5 side by side on a computer. When you install version 3.5, you get the 2.0 and 3.0 layers automatically, and apps that were built for versions 2.0, 3.0, and 3.5 can all run on version 3.5. However, .NET Framework 4 ends this layering approach, and it and later releases (.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, and 4.8) also represent successive layers of a single installation. Starting with .NET Framework 4, you can use in-process, side by side hosting to run multiple versions of the CLR in a single process. For more information, see Assemblies and Side-by-Side Execution.

In addition, if your app targets version 2.0, 3.0, or 3.5, your users may be required to enable .NET Framework 3.5 on a Windows 8, Windows 8.1, or Windows 10 computer before they can run your app. For more information, see Install the .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8.

Important

Starting with Visual Studio 2022, Visual Studio no longer includes .NET Framework components for .NET Framework 4.0 — 4.5.1 because these versions are no longer supported. Visual Studio 2022 and later versions can’t build apps that target .NET Framework 4.0 through .NET Framework 4.5.1. To continue building these apps, you can use Visual Studio 2019 or an earlier version.

Модели выполнения.

Приложения .NET запускают управляемый код в среде выполнения, известной как среда CLR.

CLR

.NET CLR — это кроссплатформенная среда выполнения, которая включает поддержку Windows, macOS и Linux. Среда CLR обрабатывает выделение памяти и управление ей. Среда CLR также является виртуальной машиной, которая не только выполняет приложения, но и создает, а также компилирует код с помощью JIT-компилятора.

Для получения дополнительной информации см. Common Language Runtime.

JIT-компилятор и промежуточный язык

Языки .NET более высокого уровня, например C#, компилируются до независимого от оборудования набора инструкций, который называется промежуточным языком (IL). При запуске приложений этот компилятор преобразует IL в машинный код, который понимает обработчик. JIT-компиляция происходит на том же компьютере, на котором будет выполняться код.

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

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

Дополнительные сведения см. в статьях Управляемый процесс выполнения и .

Компилятор AOT

По умолчанию большинство рабочих нагрузок .NET являются JIT-компилятором, но .NET предлагает две формы компиляции на момент времени (AOT):

  • Для некоторых сценариев требуется 100-процентная компиляция AOT. Примером может служить iOS.
  • В других сценариях большая часть кода приложения компилируется с помощью AOT, но для некоторых частей используется JIT-компилятор. Некоторые шаблоны кода не распознаются AOT (например, универсальные шаблоны). Примером такой формы компиляции AOT является параметр публикации . Такая форма AOT позволяет использовать преимущества компиляции без ее недостатков.

Автоматическое управление памятью

Сборщик мусора (GC) управляет выделением и освобождением памяти для приложений. Каждый раз, когда код создает новый объект, среда CLR выделяет память для объекта из . Пока в управляемой куче есть доступное адресное пространство, среда выполнения продолжает выделять пространство для новых объектов. Когда остается недостаточное свободное пространство адресов, сборщик мусора проверяет наличие объектов в управляемой куче, которые больше не используются приложением. Затем эта память освобождается.

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

Дополнительные сведения о сборке мусора см. в статьях Автоматическое управление памятью и Основы сборки мусора.

Работа с неуправляемыми ресурсами

Иногда код должен ссылаться на неуправляемые ресурсы. Неуправляемые ресурсы — это ресурсы, которые не обслуживаются средой выполнения .NET автоматически. Например, к неуправляемым ресурсам относятся дескрипторы файлов. Объект FileStream — управляемый, но он ссылается на дескриптор файла, который является неуправляемым ресурсом. После окончания работы с FileStream нужно явным образом освободить дескриптор файла.

В среде .NET объекты, которые ссылаются на неуправляемые ресурсы, реализуют интерфейс IDisposable. После окончания работы с объектом вызовите метод объекта, который отвечает за освобождение неуправляемых ресурсов. В языках .NET имеется удобная инструкция (C#, F#, VB), которая обеспечивает вызов метода .

Дополнительные сведения см. в разделе Очистка неуправляемых ресурсов.

Комментарии для версии 4.5 и более поздних версий

.NET Framework 4.5 — это обновление на месте, которое заменяет .NET Framework 4 на компьютере, и аналогично .NET Framework 4.5.1, 4.5.2, 4,6, 4.6.1, 4.6.2, 4,7, 4.7.1, 4.7.2 и 4.8 — это обновления на месте для .NET Framework 4.5. Обновление на месте означает, что они используют ту же версию среды выполнения, но версии сборок обновлены и включают новые типы и члены. После установки одного из этих обновлений приложения .NET Framework 4, .NET Framework 4.5, .NET Framework 4.6 или .NET Framework 4.7 должны продолжать работу без повторной компиляции. Однако обратное неверно. Не рекомендуется запускать приложения, предназначенные для более поздней версии .NET Framework, в более ранней версии. Например, не рекомендуется запускать приложение, предназначенное для .NET Framework 4.6, на .NET Framework 4.5.

Применяются следующие правила.

  • В Visual Studio можно выбрать .NET Framework 4.5 в качестве целевой платформы для проекта (при этом задается свойство GetReferenceAssemblyPaths.TargetFrameworkMoniker), чтобы скомпилировать проект как сборку или исполняемый файл .NET Framework 4.5. Эту сборку или исполняемый файл можно использовать на любом компьютере, где установлена платформа .NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 или 4.8.

  • В Visual Studio можно выбрать .NET Framework 4.5.1 в качестве целевой платформы для проекта, чтобы скомпилировать проект как сборку или исполняемый файл .NET Framework 4.5.1. Запускайте эту сборку или исполняемый файл только на компьютерах, на которых установлен .NET Framework 4.5.1 или более поздней версии. Исполняемый файл с целевой платформой .NET Framework 4.5.1 будет заблокирован для выполнения на компьютере, где установлена только более ранняя версия .NET Framework, например .NET Framework 4.5. Пользователю будет предложено установить платформу .NET Framework 4.5.1. Кроме того, сборки .NET Framework 4.5.1 не должны вызываться из приложения, предназначенного для более ранней версии .NET Framework, такой как .NET Framework 4.5.

    Примечание

    Платформы .NET Framework 4.5.1 и .NET Framework 4.5 используются здесь только в качестве примеров. Этот принцип применяется к любому приложению, предназначенному для более поздней версии .NET Framework, чем установленная в системе, в которой оно выполняется.

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

Установка Microsoft .NET Framework 4.0

Для установки Microsoft .NET Framework 4.0 мы будем использовать автономный установщик. Скачать его можно вот здесь.

Также жмем «Скачать» и если мы не хотим устанавливать что-то дополнительное, то жмем «Отказаться и продолжить»

У нас загрузится файл dotNetFx40_Full_x86_x64.exe мы его и запускаем. И также сначала соглашаемся с лицензионным соглашением, т.е. ставим галочку и жмем «Установить»

Затем начнется установка, которая также пройдет очень быстро.

Жмем «Готово».

Теперь на нашем компьютере установлен Microsoft .NET Framework 4.0 это, кстати, мы можем посмотреть в списке установленных программ, а именно

Панель управления->Программы и компоненты

Надеюсь, все было понятно. Удачи!

Нравится8Не нравится2

Терминология .NET

Для понимания документации по .NET важно понять, как использование некоторых терминов изменилось со временем

.NET Core и .NET 5

В 2002 году корпорация Майкрософт выпустила .NET Framework, платформу разработки для создания приложений Windows. Сегодня доступна версия 4.8 платформы .NET Framework, и она по-прежнему поддерживается Майкрософт.

В 2014 году корпорация Майкрософт начала создавать кроссплатформенный преемник платформы .NET Framework с открытым исходным кодом. Эта новая реализация .NET называлась .NET Core, пока не была выпущена версия 3.1. Следующая версия после .NET Core 3.1 — это .NET 5. Номер версии 4 был пропущен во избежание путаницы между этой реализацией .NET и .NET Framework 4.8. Слово «Core» было удалено из названия, чтобы указать, что теперь это основная реализация .NET.

Эта статья посвящена .NET 5, но большая часть документации по .NET 5 по-прежнему ссылается на .NET Core или .NET Framework. Кроме того, слово «Core» остается в именах ASP.NET Core и Entity Framework Core.

Документация также относится к .NET Standard. .NET Standard — это спецификация API, которая позволяет разрабатывать библиотеки классов для нескольких реализаций .NET.

Дополнительные сведения см. в разделе Архитектурные компоненты .NET.

Уточнение терминологии

Часть терминологии .NET может показаться запутанной, поскольку одно и то же слово используется по-разному в разных контекстах. Ниже приведены некоторые из более заметных примеров:

  • Среда выполнения

    Контекст Значение термина «среда выполнения»
    Среда выполнения для управляемой программы. Операционная система является частью среды выполнения, но не входит в среду выполнения .NET.
    Среда выполнения .NET на странице загрузки .NET и , которые обеспечивают поддержку запуска приложений, . На странице также предлагаются варианты среды выполнения для серверных приложений ASP.NET Core и классических приложений Windows.
    Идентификатор среды выполнения (RID) Платформа ОС и архитектура ЦП, на которых работает приложение .NET. Пример: 64-разрядная версия Windows, 64-разрядная версия Linux.
  • платформа

    Контекст Значение термина «платформа»
    .NET Framework Исходная реализация .NET только для Windows. Слово «Framework» указывается с первой прописной буквы.
    целевая платформа Коллекция API-интерфейсов, которую использует приложение или библиотека .NET. Примеры: .NET Core 3.1, .NET Standard 2.0
    Моникер целевой платформы (TFM) TFM — это стандартизированный формат маркера для указания целевой платформы приложения или библиотеки .NET. Пример: для .NET Framework 4.6.2.
    Приложение, зависящее от платформы Приложение, которое может выполняться на компьютере, где установлена среда выполнения со страницы загрузки .NET. «Платформа» в этом контексте — то же самое, что и среда выполнения, загружаемая со страницы загрузки .NET.
    Библиотеки платформы Иногда используется в качестве синонима для .
  • Пакет SDK

    Контекст Значение термина «пакет SDK»
    Набор средств и библиотек, которые вы скачиваете и устанавливаете для разработки и запуска приложений .NET. Включает в себя интерфейс командной строки, MSBuild, среду выполнения .NET и другие компоненты.
    Набор целевых объектов и задач MSBuild, указывающий, как следует создавать проект для конкретного типа приложения. Пакет SDK в этом смысле указывается с помощью атрибута элемента в файле проекта.
  • platform

    Контекст Значение термина «платформа»
    Кроссплатформенность Здесь термин «платформа» означает операционную систему и оборудование, на котором она выполняется, например Windows, macOS, Linux, iOS и Android.
    Платформа .NET Возможны разные варианты использования. Может иметься ввиду одна реализация .NET (например, .NET Framework или .NET 5) или абстрактная концепция .NET, включая все реализации.
  • CLI

    Акроним для Значение
    Интерфейс командной строки (CLI) Межплатформенная цепочка инструментов для разработки, сборки, запуска и публикации приложений .NET.
    Common Language Infrastructure Спецификация, реализуемая .

Дополнительные сведения о терминологии .NET см. в разделе Глоссарий .NET.

Возможности для программистов

Программа NET Framework для программистов открывает много возможностей и снимает ряд ограничений. Они могут написать новую программу, используя привычный для себя язык программирования, не осваивая при этом новые платформы. Свойства Фреймворка сделали из него мультиплатформенный инструмент, которому понятны языковые алгоритмы, к примеру, C++/CLI, C#, JScript , F#, Visual Basic и многие другие.

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

Ещё кое-что о Microsoft Net Framework

Еще одна причина, зачем нужен NET Framework. Несколько лет назад Microsoft открыла исходный код NET Framework, позволив всем желающим вносить свой вклад в разработку платформы. В результате Microsoft стала самой активной организацией на GitHub.

Что это значит для вас? В сущности, то, что приложения, написанные на .NET Framework в будущем станут только популярнее и качественнее. Поэтому, почему бы не установить .NET Framework прямо сейчас?

Пожалуйста, оставьте ваши отзывы по текущей теме материала. За комментарии, дизлайки, подписки, лайки, отклики огромное вам спасибо!

МКМихаил Кузнецовавтор-переводчик

Модели развертывания

Приложения .NET можно публиковать в двух разных режимах:

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

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

    Можно установить несколько версий среды выполнения параллельно, чтобы запускать зависящие от платформы приложения, предназначенные для разных версий среды выполнения. Дополнительные сведения см. в разделе Целевые платформы.

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

Дополнительные сведения см. в статьях Общие сведения о публикации приложений .NET и Введение в .NET и Docker.

Клиентский профиль .NET Framework 4

Клиентский профиль .NET Framework 4 — это некий поднабор компонентов .NET Framework 4, которые оптимизированы для клиентских приложений. Он включает в себя необходимый набор функций и компонентов, которых достаточно большинству клиентских приложений. Сюда входит Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF). Если говорить о том, что сюда не включено то это: ASP.NET, расширенный набор функций WCF, поставщик данных .NET Framework для Oracle и система MSBuild для компиляции, если Вам необходимы эти компоненты то нужно уже устанавливать полноценный .NET Framework 4. Как Вы, наверное, уже поняли клиентский профиль .NET Framework 4 это своего рода урезанная версия .NET Framework 4.

И теперь давайте перейдем к установке данных компонентов и начнем мы с Microsoft .NET Framework 4 Client Profile.

Примечание! Если Вы хотите сразу установить полноценный Microsoft .NET Framework 4.0, то клиентский профиль устанавливать не обязательно.

Установка Microsoft .NET Framework 4 Client Profile

И для того чтобы установить данный компонент необходимо, конечно же, его скачать, а это можно и лучше сделать с официального центра загрузки Microsoft.

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

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

И так начнем.

Скачать клиентский профиль .NET Framework 4 (веб установщик) можно вот на этой странице.

Вы переходите на страницу и жмете «Скачать»

Затем Вам будет предложено отметить для загрузки дополнительные пакеты приложений, но так как в данном случае нам ничего больше не нужно мы просто жмем «Отказаться и продолжить» в правой части экрана

В итоге у Вас загрузится файл dotNetFx40_Client_setup.exe, который нужно запустить.

И сразу после запуска нам необходимо согласиться с лицензионным соглашением, т.е. поставить галочку напротив «Я прочитал и принимаю условия лицензионного соглашения» и нажать «Установить».

Затем нам больше ничего не нужно делать мы просто ждем окончания загрузки и установки.

Установка займет не много времени всего минуты 3, после чего установщик скажет, что «Установка завершена», и мы жмем «Готово».

Как видите в установке клиентского профиля .NET Framework 4 нет ничего сложного как впрочем, и в установке самой платформы Microsoft .NET Framework 4, но это Вы сейчас сами и увидите.

Приложение

Параметры командной строки

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

Параметр Описание
/CEIPConsent Перезаписывает поведение по умолчанию и отправляет анонимные сведения об установке в корпорацию Microsoft для совершенствования процедуры развертывания в будущем. Этот параметр можно использовать, только если программа установки запрашивает согласие пользователя и только если пользователь разрешает отправлять анонимную статистку в корпорацию Microsoft.
/chainingpackage Указывает имя исполняемого файла, осуществляющего привязку. Эти сведения отправляются в корпорацию Microsoft в качестве анонимной статистики для совершенствования процедуры развертывания в будущем. Если в имени пакета присутствуют пробелы, в качестве разделителей необходимо использовать двойные кавычки (например, /chainingpackage «Lucerne Publishing» ). Пример привязываемого пакета см. в разделе Получение сведений о ходе выполнения из пакета установки.
/LCID где параметр задает код языка (список кодов см. на странице ). Устанавливает языковой пакет, определенный параметром , и обеспечивает принудительное отображение пользовательского интерфейса на этом языке (если не включен автоматический режим). Для веб-установщика этот параметр обеспечивает установку (привязку) языкового пакета из Интернета. Примечание. Используйте этот параметр только с веб-установщиком.
/log | Задает расположение файла журнала. Значение по умолчанию — временная папка для процесса, а имя файла по умолчанию основано на пакете. Если файл имеет расширение .txt, создается текстовый журнал. Если указано любое другое расширение или никакого расширения, создается журнал в формате HTML.
/msioptions Задает параметры для передачи элементам MSI и MSP; например: .
/norestart Запрещает программе установки автоматически перезагружать компьютер. При использовании этого параметра привязываемое приложение должно захватить код возврата и обработать перезагрузку (см. раздел Получение сведений о ходе выполнения из пакета установки).
/passive Задает пассивный режим. Отображает индикатор выполнения, чтобы показать, что установка выполняется, но не выводит никаких приглашений и сообщений об ошибках. В этом режиме, при объединении в цепочку с программой установки, привязываемый пакет должен обрабатывать .
/pipe Создает канал связи, чтобы привязываемый пакет мог получать информацию о ходе выполнения.
/promptrestart Только пассивный режим; если программе установки необходима перезагрузка, она выводит соответствующий запрос для пользователя. При использовании этого параметра требуется вмешательство пользователя, если необходима перезагрузка.
/q Включает автоматический режим.
/repair Включение функции исправления.
/serialdownload Обеспечивает, что установка происходит только после загрузки пакета.
/showfinalerror Задает пассивный режим. Отображает ошибки только в том случае, если установка не выполнена успешно. При использовании этого параметра в случае ошибки установки требуется вмешательство пользователя.
/showrmui Используется только с параметром /passive . Выводит окно сообщения, в котором пользователю предлагается закрыть работающие в данный момент приложения .NET Framework. Это окно сообщения ведет себя одинаково как в пассивном, так и не в пассивном режиме.
/uninstall Удаляет распространяемый пакет .NET Framework.

Поддерживаемые языки

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

LCID Язык — страна/регион culture
1025 Арабский — Саудовская Аравия ar
1028 Китайский (традиционное письмо) zh-Hant
1029 Чешский cs
1030 Датский da
1031 Немецкий (Германия) de
1032 Греческий el
1035 Финский fi
1036 Французский (Франция) fr
1037 Иврит he
1038 Венгерский hu
1040 Итальянский (Италия) it
1041 Японский ja
1042 Корейский ko
1043 Голландский (Нидерланды) nl
1044 Норвежский (Букмол) Нет
1045 Польский pl
1046 Португальский (Бразилия) pt-BR
1049 Русский ru
1053 Шведский sv
1055 Турецкий tr
2052 Китайский (упрощенное письмо) zh-Hans
2070 Португальский (Португалия) pt-PT
3082 Испанский (Испания, современная сортировка) es

Библиотеки среды выполнения.

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

Ниже приведены некоторые примеры типов, определенных в библиотеках среды выполнения .NET:

  • Примитивные типы, например System.Boolean и System.Int32.
  • Коллекции, такие как System.Collections.Generic.List<T> и System.Collections.Generic.Dictionary<TKey,TValue>.
  • Типы данных, такие как System.Data.DataSet и System.Data.DataTable.
  • Служебные сетевые типы, такие как System.Net.Http.HttpClient.
  • Служебные типы файлов и потоков ввода-вывода, такие как System.IO.FileStream и System.IO.TextWriter.
  • Служебные типы сериализации, такие как System.Text.Json.JsonSerializer и System.Xml.Serialization.XmlSerializer.
  • Высокопроизводительные типы, такие как System.Span<T>, System.Numerics.Vector и Pipelines.

Подробнее см. в статье Общие сведения о библиотеках среды выполнения. Исходный код для библиотек находится в репозитории GitHub dotnet/runtime.

Расширения библиотек среды выполнения

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

Пакет NuGet Документация
Microsoft.Extensions.Hosting Управление жизненным циклом приложения (универсальный узел)
Microsoft.Extensions.DependencyInjection Внедрение зависимостей
Microsoft.Extensions.Configuration Конфигурация
Microsoft.Extensions.Logging Logging
Microsoft.Extensions.Options Шаблон параметров

Дополнительные сведения см. в репозитории dotnet/extensions на сайте GitHub.

.NET Framework для пользователей

Если вы не разрабатываете приложения .NET Framework, но используете их, вам не требуется обладать специальными знаниями о платформе .NET Framework или ее работе. В большинстве случаев платформа .NET Framework совершенно прозрачна для пользователей.

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

В общем случае не рекомендуется удалять версии платформы .NET Framework, установленные на компьютере. Для этого имеются две причины:

  • Если приложение зависит от конкретной версии платформы .NET Framework, то при удалении этой версии его работа может быть нарушена.

  • В некоторых версиях платформы .NET Framework существуют обновления на месте на более ранние версии. Например, .NET Framework 3.5 представляет собой обновление на месте для версии 2.0, а .NET Framework 4.8 — обновление на месте для версий с 4 по 4.7.2. Дополнительные сведения см. в разделе Платформа.NET Framework: версии и зависимости.

Если вы решите удалить платформу .NET Framework в версии Windows, предшествующей Windows 8, всегда используйте для удаления средство Программы и компоненты. Никогда не удаляйте версию платформы .NET Framework вручную. В ОС Windows 8 и более поздних версий .NET Framework представляет собой компонент операционной системы, который нельзя удалить отдельно.

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

Features of the common language runtime

The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime.

Regarding security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it’s used in the same active app.

The runtime also enforces code robustness by implementing a strict type-and-code-verification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.

In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common app errors, memory leaks and invalid memory references.

The runtime also accelerates developer productivity. For example, programmers write apps in their development language of choice yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor who chooses to target the runtime can do so. Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing apps.

While the runtime is designed for the software of the future, it also supports software of today and yesterday. Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it’s executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance.

Finally, the runtime can be hosted by high-performance, server-side apps, such as Microsoft SQL Server and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry’s best enterprise servers that support runtime hosting.

Простая пошаговая установка

Разработчики Windows начали включать программу NET Framework в дистрибутивную часть ОС уже с ее седьмой версии. Фреймворк устанавливается с ней автоматически. Если такого пакета нет, или версия ОС более ранняя, это приложение можно легко скачать на нашем сайте и установить на свой ПК.

Для скачивания выполните несколько последовательных действий:

  1. Найдите необходимую вам версию Фреймворк.
  2. Подтвердите свое действие, нажав кнопку Скачать. Скачивание не займет больше минуты.
  3. Найдите сохраненный файл с программой в папке Загрузки на вашем ПК и кликните на нем 2 раза.
  4. Проследуйте за подсказками, которые предлагает инструкция установки Фреймворка.
  5. Когда установка NET Framework будет завершена, перезагрузите ваш компьютер.

Вот так просто происходит загрузка и установка программ Фреймворк. Стоит только заметить, что ранние версии, уже установленные на вашем ПК, удалять не стоит. Даже если вам кажется, что они лишние или занимают место без пользы. От них может зависеть работоспособность одного из сервисов, которым вы решитесь воспользоваться.

Поддержка

Корпорация Майкрософт реализует поддержку платформы .NET для операционных систем Windows, macOS и Linux. Она регулярно обновляется для обеспечения безопасности и качества (второй вторник каждого месяца).

Двоичные дистрибутивы .NET от Майкрософт собираются и тестируются в Azure на серверах Майкрософт и следуют методикам проектирования и безопасности Майкрософт.

Red Hat поддерживает .NET в операционной системе Red Hat Enterprise Linux (RHEL). Red Hat и Майкрософт совместно занимаются обеспечением беспроблемной работы .NET Core в RHEL.

Tizen поддерживает .NET на платформах Tizen.

Дополнительные сведения см. в статье Выпуски и поддержка .NET и .NET 5.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector