Совместимость версий

Что нового в Net Framework 4.7

Список изменений в версии 4.7, которая вышла в начале мая 2020, включает:

  • улучшенную поддержку экранов с высокими разрешениями;
  • расширенную поддержку тач-скринов в Windows 10;
  • улучшенную поддержку криптографии;
  • поддержку языков C# 7 and VB 15;
  • улучшения в производительности и надёжности фреймворка.

Не откладывайте установку этого важного компонента Windows. Скачать Net Framework 4.7 нужно как можно скорее: из системы уйдут многие ошибки

Любой пользователь ПК постоянно сталкивается с программными продуктами, полностью или частично разработанными на платформе Net. Это могут быть как утилиты, так и игры. И перед установкой программы, в том числе игровой, узнать версию NET Framework, как правило, бывает совсем нелишним.

На компьютере под управлением ОС Windows может располагаться далеко не одна версия такой программной платформы. Это связано с сугубо техническими факторами разработки, и никоим образом не засоряет компьютер. «Виндовс» позволяет узнать версию Net Framework с помощью разных способов.

Что такое платформа .NET Framework?

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

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

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

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

  • Платформы и технологии разработки. Платформа .NET Framework включает библиотеки для конкретных областей разработки приложений, например ASP.NET для веб-приложений, ADO.NET для доступа к данным, Windows Communication Foundation для приложений, ориентированных на службы, а также Windows Presentation Foundation для классических приложений Windows.

  • Взаимодействие языков. Языковые компиляторы, ориентированные на .NET Framework, выдают промежуточный код, называемый языком CIL (Common Intermediate Language), который, в свою очередь, компилируется во время выполнения средой CLR. С помощью этой функции подпрограммы, написанные на одном языке, доступны в других языках, поэтому разработчики могут создавать приложения на предпочитаемых языках.

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

  • Параллельное выполнение. Платформа .NET Framework помогает разрешать конфликты версий, поскольку на компьютере могут быть установлены несколько версий среды CLR. Это означает, что несколько версий приложений могут существовать совместно и приложение может выполняться на версии платформы .NET Framework, для которой оно было создано. Параллельное выполнение применяется к группам версий .NET Framework 1.0/1.1, 2.0/3.0/3.5 и 4/4.5.x/4.6.x/4.7.x/4.8.

  • Настройка для различных версий. При настройке в соответствии со стандартом .NET разработчики создают библиотеки классов, которые работают на различных платформах .NET Framework, поддерживаемых соответствующей версией стандарта. Например, библиотеки, разработанные в соответствии со стандартом .NET Standard 2.0, могут использоваться приложениями, ориентированными на платформы .NET Framework 4.6.1, .NET Core 2.0 и UWP 10.0.16299.

.NET Framework 3.0


Элементы Microsoft .NET Framework версии 3.0

.NET Framework 3.0, ранее называвшаяся WinFX, была выпущена 21 ноября 2006 года. Она включает новый набор API управляемого кода, который является неотъемлемой частью Windows Vista и Windows Server 2008 . Он также доступен для загрузки для Windows XP SP2 и Windows Server 2003 . В этот выпуск нет серьезных архитектурных изменений; .NET Framework 3.0 использует ту же среду CLR, что и .NET Framework 2.0. В отличие от предыдущих основных выпусков .NET, не было выпуска .NET Compact Framework, созданного как аналог этой версии. Версия 3.0 .NET Framework поставляется с Windows Vista. Он также поставляется с Windows Server 2008 в качестве дополнительного компонента (по умолчанию отключен).

.NET Framework 3.0 состоит из четырех основных новых компонентов:

  • Windows Presentation Foundation (WPF), ранее называвшаяся Avalon: новая подсистема пользовательского интерфейса и API, основанные на языке разметки XAML , в котором используется оборудование для трехмерной компьютерной графики и технологии Direct3D.
  • Windows Communication Foundation (WCF), ранее носившая кодовое название Indigo: сервис-ориентированная система обмена сообщениями, которая позволяет программам взаимодействовать локально или удаленно, подобно веб-службам.
  • Windows Workflow Foundation (WF): позволяет автоматизировать создание задач и интегрировать транзакции с использованием рабочих процессов.
  • Windows CardSpace , ранее носившая кодовое название InfoCard: программный компонент, который надежно хранит цифровые удостоверения личности и предоставляет унифицированный интерфейс для выбора удостоверения для конкретной транзакции, например для входа на веб-сайт.

.NET Framework 3.0 поддерживается в Windows XP , Server 2003 , Vista , Server 2008 и Server 2008 R2 . Приложения, использующие .NET Framework 3.0, также будут работать на компьютерах с установленным .NET Framework 3.5, который поддерживает дополнительные операционные системы.

net framework как узнать версию на Windows 10

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

.NET Framework – платформа от компании Microsoft, предназначенная ля выполнения различных приложения, написанных на разных языках программирования. Очень часто ее используют при создании программ и игр для Windows. Историю в целом о данной технологии можно посмотреть на википедии.

Как узнать версию net framework на Windows 10 и более ранних редакциях? Для решения данной проблемы мы воспользуемся инструментом .NET Version Detector, которую для того и создали, чтобы узнать версию net framework.

Загрузить утилиту можно с этого ресурса. Тут же скачается небольшой архив в 400 Кб. Его можно не распаковывать, а сразу запустить файл с названием «dotnet».

Перфоманс

Изменения в перфомансе — это самая заметная часть релиза. О них много писали на сайте Microsoft и рассказывали на .NET Conf. Давайте посмотрим внимательнее и определимся, где, насколько и за счет чего выросла производительность.

Измерения перфоманса с этого скрина основаны на бенчмарках от TechEmpower. Здесь Microsoft сравнивают результаты замеров производительности .NET 3.1 с ожидаемыми значениями для .NET 5. Стоит заметить, что это именно ожидаемые значения — реальных результатов от TechEmpower пока не было. Однако уже эти результаты выглядят впечатляюще — ускорение на 38 процентов для Plaintext, на 42 для Json и на 20 процентов в категории Fortunes (пояснения по разным типам бенчмарков вы можете найти в вики TechEmpower).

Помимо результатов бенчмарков от TechEmpower, Microsoft также рассказывает и о других улучшениях. Например, сериализация JSON стала работать на 20% быстрее, а сериализация больших коллекций и массивов ускорилась аж в три раза.

Также замеры производительности делал автор библиотеки Fusion Александр Якунин. В двух статьях на Medium он сначала измерил, насколько ускорилась работа демок его библиотеки (от 20 до 105 процентов), а затем проверил пятый .NET на нескольких синтетических бенчмарках — и также получил некоторое ускорение.

За счет чего это происходит? В первую очередь, благодаря изменениям в GC, которые привели к уменьшению количества аллокаций и ускорению сборки мусора. Кстати, все эти изменения осуществляются одновременно с переписыванием GC на C#, а значит его код становится куда доступнее, понятнее и безопаснее. Подробности можно почитать в .

Другие изменения коснулись JIT компиляции, асинхронности и многих методов базовой библиотеки

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

Изменения в JSON сериализации выглядят особенно впечатляюще. Только посмотрите на результаты бенчмарка по сериализации больших массивов!

Моникеры целевой платформы определяют API во время сборки

Вы создаете проект на основе API, определенных в моникере целевой платформы (TFM). Вы указываете целевую платформу в файле проекта. Укажите элемент в файле проекта, как показано в следующем примере:

Вы можете создать проект на основе нескольких моникеров целевой платформы. Обычно несколько целевых платформ указываются для библиотек, но с приложениями это тоже возможно. Укажите свойство (множественное число от ). Целевые платформы разделяются точкой с запятой, как показано в следующем примере:

Данный пакет SDK поддерживает фиксированный набор платформ, вплоть до целевой платформы среды выполнения, с которой он поставляется. Например, пакет SDK для .NET 5.0 включает среду выполнения .NET 5.0, которая представляет собой реализацию целевой платформы . Пакет SDK для .NET 5.0 поддерживает , , и так далее, но не (или более поздней версии). Установите пакет SDK для .NET 6.0 для сборки .

.NET Standard

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

Дополнительные сведения см. в статье .

Языковое

Вместе с .NET 5 вышла и девятая версия C#. Официальную страничку с изменениями вы можете найти на сайте Microsoft, но давайте попробуем разобраться — что именно здесь стоит внимания?

Также записи поддерживают синтаксис копирования с изменением значений полей через with, например:

Больше о применении записей вы можете почитать в блоге Владимира Хорикова и в публикации от Konrad Kokosa.

Другое важное изменение — это обновленный pattern matching. Теперь паттерны могут настраиваться по типам и операторам сравнения, причем несколько разных сравнений вы можете объединять через логические операторы

Например:

Остальные изменения не столь заметны — они касаются верхнеуровневых программ (возможность писать короткие программы без базового класса и функции main), упрощенного синтаксиса для new (без указания типа), init-only сеттеров и прочего.

Отдельно стоит рассказать про F# 5. В новой версии языка добавилась масса классных возможностей для скриптов (например, директива для подключения nuget пакетов), slicing для более удобной работы с данными, а также улучшилась работа с quotation expressions и computation expressions. А еще сильно улучшился интероп с C# и перфоманс. Словом, новый релиз выглядит интересно и делает F# потенциально полезнее в продакшене. Полное описание всех изменений можно найти на сайте Microsoft.

Как узнать версию net framework с помощью редактора реестра

Известно, что все основные настройки Windows находятся в реестре. Любое установленное ПО вносит записи в системный реестр. Для начала нужно запустить реестр. Нажмём сочетание «Win+R» и введем команду regedit.

Теперь ищем такой раздел, следуя по каждой ветке в окне реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\«инсталлированная версия».

Еще в правой части окна будет указан параметр Version, также указывающий на версию net framework.

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

Установка языковых пакетов

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

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

Важно!

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

  1. Откройте страницу загрузки языковых пакетов для установленной версии платформы .NET Framework:

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

  3. Выберите Загрузить.

В приведенной ниже таблице перечислены поддерживаемые языки.

Язык culture
Арабский ar
Чешский cs
Датский da
Голландский nl
Финский fi
Английский (США) en-US
Французский fr
Немецкий de
Греческий el
Иврит he
Венгерский hu
Итальянский it
Японский ja
Корейский ko
Норвежский Нет
Польский pl
Португальский (Бразилия) pt-BR
Португальский (Португалия) pt-PT
Русский ru
Китайский, упрощенное письмо zh-CHS
Испанский es
Шведский sv
Китайский (традиционный) zh-CHT
Турецкий tr

Следующие шаги

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

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

  • Подробные сведения о развертывании .NET Framework в приложении см. в разделе Руководство по развертыванию для разработчиков.

  • Изменения, влияющие на развертывание .NET Framework с вашим приложением, см. в разделе Сокращение количества перезапусков системы во время установки .NET Framework 4.5.

  • Сведения о переносе приложения с платформы .NET Framework 4 на .NET Framework 4.5 или в более позднюю версию см. в руководстве по миграции.

  • Библиотека справочников .NET Framework Reference Source включает исходный код .NET Framework. Справочник по исходному коду также доступен на сайте Github. Вы можете скачать справочник для автономной работы и пошагово просматривать исходный код (включая исправления и обновления) во время отладки. Дополнительные сведения см. в записи блога Новый облик .NET Reference Source.

Как узнать какие версии установлены в системе?

Почти никто из пользователей не знает, какие версии NET Framework установлены в системе. Для определения, проще всего воспользоваться специальной утилитой. Одна из лучших, на мой взгляд, это NET Version Detector.

Эту утилиту не нужно устанавливать, достаточно скачать и запустить.

Например, в моей системе установлено: .NET FW 2.0 SP 2; .NET FW 3.0 SP 2; .NET FW 3.5 SP 1; .NET FW 4.5.

Кстати, здесь следует сделать небольшую сноску и сказать, что в NET Framework 3.5.1 входят следующие компоненты:

Платформа.NET Framework 2.0 с SP1 и SP2; — Платформа.NET Framework 3.0 с SP1 и SP2; — Платформа.NET Framework 3.5 с SP1.

Так же, об установленных платформах NET Framework можно узнать и в Windows. В Windows 8 (7*) для этого нужно войти в панель управления/программы/включение или отключение компонентов Windows .

Удаленное взаимодействие

Удаленное взаимодействие .NET не поддерживается в .NET 5+ (и .NET Core). Архитектура удаленного взаимодействия .NET считается проблемной. Она используется для обмена данными между доменами приложений, которые больше не поддерживаются. Кроме того, для удаленного взаимодействия требуется поддержка среды выполнения, обслуживание которой обходится дорого.

Для обычного взаимодействия между процессами можно вместо удаленного применять механизмы межпроцессного взаимодействия, например класс System.IO.Pipes или MemoryMappedFile. В более сложных сценариях проект StreamJsonRpc с открытым исходным кодом предоставляет межплатформенные средства удаленного взаимодействия .NET Standard, которые работают поверх существующих потоков или каналов подключения.

Для взаимодействия между компьютерами в качестве альтернативы можно использовать сетевое решение, желательно протокол на основе обычного текста с низкими издержками, например HTTP. Еще один вариант — веб-сервер Kestrel, используемый платформой ASP.NET Core. Кроме того, для сценариев взаимодействия между компьютерами по сети можно использовать пространство имен System.Net.Sockets. StreamJsonRpc, упомянутый выше, можно использовать для обмена данными JSON или binary (через MessagePack) между веб-сокетами.

Другие варианты обмена сообщениями см. в разделе об обмене сообщениями статьи (Проекты разработки с открытым кодом в .NET).

Информация об установленных версиях .NET Framework в реестре

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

Откройте редактор реестра и перейдите в раздел HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP. В данном разделе содержатся подраздел для каждой установленной в системе версии .NET. Нужная информация содержится в разделе с именем ветки (а для .Net 4.0 и выше в подразделах Client и Full). Нас интересуют следующие параметры реестра:

  • Install — флаг установки версии (если равен 1 – данная версия .Net установлена на компьютере);
  • Install Path — каталог, в который установлена данная версия .Net;
  • Release — номер текущего релиза .Net;
  • Version — полный номер версии .Net Framework.

К примеру, в данном примере видно, что на компьютере установлены .NET Framework v2.0.50727, 3.0, 3.5 и 4.0 (релиз 460805).

Примечание. Для .NET 4.0 и выше, если подраздел Full отсутствует, это значит, что данная версия Framework на компьютере не установлена.

С помощью следующей таблицы вы можете установить соответствие между номером релиза и версией .NET Framework 4.5 и выше.

Значение DWORD параметра Release Версия .NET Framework
378389 .NET Framework 4.5
378675 NET Framework 4.5.1 на Windows 8.1 / Windows Server 2012 R2
378758 .NET Framework 4.5.1 на Windows 8, Windows 7 SP1, Windows Vista SP2
379893 .NET Framework 4.5.2
393273 .NET Framework 4.6 на Windows 10
393297 .NET Framework 4.6
394254 .NET Framework 4.6.1 на Windows 10 November Update
394271 .NET Framework 4.6.1
394802 .NET Framework 4.6.2 на Windows 10 Anniversary Update
394806 .NET Framework 4.6.2
460798 .NET Framework 4.7 на Windows 10 Creators Update
460805 .NET Framework 4.7
461308 .NET Framework 4.7.1 на Windows 10 Fall Creators Update
461310 .NET Framework 4.7.1
461808 .NET Framework 4.7.2 на Windows 10 April 2020 Update
461814 .NET Framework 4.7.2

.NET Framework 4.8

.NET Framework 4.8 был выпущен 18 апреля 2019 года. Это была последняя версия .NET Framework, вся будущая работа была направлена ​​на платформу .NET Core , которая в конечном итоге станет .NET 5 и новее. В этот выпуск включены улучшения JIT , перенесенные из .NET Core 2.1, улучшения высокого разрешения для приложений WPF, улучшения специальных возможностей, обновления производительности и улучшения безопасности. Он поддерживает Windows 7 , Server 2008 R2 , Server 2012 , 8.1 , Server 2012 R2 , , Server 2016 и Server 2019, а также поставляется в виде образа контейнера Windows.

Самый последний выпуск — 4.8.0 Build 4115 с размером автономного установщика 115 МБ и датой цифровой подписи 1 мая 2021 года.

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

Существует четыре метода развертывания:

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

    • использовать (предусмотрено в Visual Studio);

    • создать (бесплатный выпуск доступен для пользователей Visual Studio);

    • создать (предусмотрено в Visual Studio);

    • использовать .

  • Можно предложить пользователям .

  • Можно привязать процесс установки .NET Framework к установке приложения (создать цепочку) и решить, как подойти к интерфейсу установки .NET Framework:

    • — дать установщику .NET Framework возможность предоставить свой пользовательский интерфейс;

    • для представления унифицированного интерфейса установки, а также для отслеживания хода установки .NET Framework.

Эти методы развертывания подробно рассмотрены в следующих подразделах.

Как узнать, какая версия NET Framework установлена

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

В связи с этим у пользователя может возникнуть необходимость узнать, какой NET Framework установлен в его Windows 7/10. Сделать это нетрудно – существует несколько способов выяснить, какая версия компонента имеется в системе.

С помощью Проводника и командной строки

Все пакеты NET Framework устанавливаются в каталоги C:/Windows/Microsoft.NET/Framework и /Framework64 (в 64-разрядных ОС). Каждой версии соответствует отдельная директория, название которой начинается на V (версия), например, v3.0, v3.5 и так далее. Соответственно, определить редакцию компонента не составит труда, если перейти в Проводнике по указанному адресу и посмотреть названия папок.

Как вариант, содержимое каталогов можно вывести в командной строке, выполнив команду dir %WINDIR%/Microsoft.Net/Framework/v* /O:-N /B. По итогам запроса в консоли будут показаны все установленные версии фреймворка за исключением версии 4.5, находящейся в папке v4.0.ХХХХ.

Через редактор реестра

Еще одна методика предполагает использование реестра. Запустив командой regedit редактор реестра, разверните в левой колонке ветку HKLM/SOFTWARE/Microsoft/NET Framework Setup/NDP. В последнем подразделе вы увидите папки, имена которых будут соответствовать имеющимся в Windows версиям NET Framework.

Чтобы определить, установлена ли в системе версия NET Framework 4.5 и выше, зайдите в расположение v4/Full и обратите внимание на параметры Install и Version. Значение 1 для первого параметра будет означать, что компонент установлен и активен, значение второго параметра содержит полный номер версии компонента

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

С помощью сторонних утилит

Тем, кто не желает утруждать себя копанием в реестре, рекомендуем воспользоваться сторонними инструментами. Скачайте с сайта разработчика www.asoft.be/prod_netver.html утилиту «ASoft .NET Version Detector» и запустите. Утилита выведет список установленных версий фреймворка в нижней части окна в поле с голубым фоном. Также тулза покажет обновления компонента.

.NET Framework 4.7

5 апреля 2017 года Microsoft объявила, что .NET Framework 4.7 интегрирована в Windows 10 Creators Update , пообещав автономный установщик для других версий Windows. В этот день было выпущено обновление для Visual Studio 2017, в которое добавлена ​​поддержка для .NET Framework 4.7. Обещанный автономный установщик для Windows 7 и более поздних версий был выпущен 2 мая 2017 г., но в нем были предварительные условия, не включенные в пакет.

Новые возможности .NET Framework 4.7 включают:

  • Улучшенная криптография с криптографией на эллиптических кривых
  • Улучшение поддержки TLS , особенно для версии 1.2
  • Поддержка поддержки высокого разрешения в Windows Forms
  • Дополнительная поддержка сенсорного ввода и стилуса в Windows Presentation Foundation (WPF)
  • Новые API печати для WPF

.NET Framework 4.7 поддерживается в Windows 7 , Server 2008 R2 , Server 2012 , 8.1 , Server 2012 R2 , , Server 2016 и Server 2019 .

.NET Framework 4.7 также поставляется как образ контейнера Windows.

.NET Framework 4.7.1

Платформа .NET Framework 4.7.1 была выпущена 17 октября 2017 г. Среди исправлений и новых функций исправлена ​​проблема зависимости d3dcompiler. Он также добавляет совместимость с .NET Standard 2.0 из коробки.

.NET Framework 4.7.1 также поставляется как образ контейнера Windows.

.NET Framework 4.7.2

Платформа .NET Framework 4.7.2 была выпущена 30 апреля 2018 г. Среди изменений — улучшения в ASP.NET, BCL, CLR, ClickOnce, Networking, SQL, WCF, Windows Forms, Workflow и WPF. Эта версия входит в состав Server 2019 .

.NET Framework 4.7.2 также поставляется как образ контейнера Windows.

Microsoft .NET Framework Что это?

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

Например, программа написанная на языке C++ может обратится к библиотеке написанной на языке Delphi.

Здесь можно провести некоторую аналогию с для аудио-видео файлов. Если у вас нет кодеков — то вы не сможете прослушать или посмотреть тот или иной файл. То же самое и с NET Framework — если у вас нет нужной версии — то вы не сможете запустить определенные программы и приложения.

Можно ли не устанавливать NET Framework?

Можно и многие пользователи не делают этого. Здесь есть несколько объяснений этому.

Во-первых, NET Framework устанавливается по умолчанию с ОС Windows (например в Windows 7 включен пакет версии 3.5.1).

Во-вторых, многие и не запускают никаких игр или программ, требующих этот пакет.

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

Поэтому, если начали появляться ошибки при запуске новой игры или программы, посмотрите ее системные требования, возможно у вас просто нет нужной платформы…

Выбор выпуска

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

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

Сервисные обновления

Сервисные обновления .NET поддерживаются, пока не будет выпущено следующее сервисное обновление. Периодичность выпуска — ежемесячно.

Необходимо регулярно устанавливать сервисные обновления, чтобы гарантировать, что ваши приложения защищены и находятся в поддерживаемом состоянии. Например, если последним сервисным обновлением для .NET Core 3.1 является 3.1.8, а мы поставляем 3.1.9, то 3.1.8 больше не является последним выпуском. Поддерживаемый уровень обслуживания для 3.1 будет 3.1.9.

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

Информация об установленных версиях.NET Framework в реестре

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

Откройте редактор реестра и перейдите в раздел HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP. В данном разделе содержатся подраздел для каждой установленной в системе версии.NET. Нужная информация содержится в разделе с именем ветки (а для.Net 4.0 и выше в подразделах Client и Full). Нас интересуют следующие параметры реестра:

  • Install — флаг установки версии (если равен 1 – данная версия.Net установлена на компьютере);
  • Install Path — каталог, в который установлена данная версия.Net;
  • Release — номер текущего релиза.Net;
  • Version — полный номер версии.Net Framework.

К примеру, в данном примере видно, что на компьютере установлены.NET Framework v2.0.50727, 3.0, 3.5 и 4.0 (релиз 460805).

Примечание

. Для.NET 4.0 и выше, если подраздел Full отсутствует, это значит, что данная версия Framework на компьютере не установлена.

С помощью следующей таблицы вы можете установить соответствие между номером релиза и версией.NET Framework 4.5 и выше.

Значение DWORD параметра Release Версия.NET Framework
378389 .NET Framework 4.5
378675 NET Framework 4.5.1 на Windows 8.1 / Windows Server 2012 R2
378758 .NET Framework 4.5.1 на Windows 8, Windows 7 SP1, Windows Vista SP2
379893 .NET Framework 4.5.2
393273 .NET Framework 4.6 на Windows 10
393297 .NET Framework 4.6
394254 .NET Framework 4.6.1 на Windows 10 November Update
394271 .NET Framework 4.6.1
394802 .NET Framework 4.6.2 на Windows 10 Anniversary Update
394806 .NET Framework 4.6.2
460798 .NET Framework 4.7 на Windows 10 Creators Update
460805 .NET Framework 4.7
461308 .NET Framework 4.7.1 на Windows 10 Fall Creators Update
461310 .NET Framework 4.7.1
461808 .NET Framework 4.7.2 на Windows 10 April 2020 Update
461814 .NET Framework 4.7.2

Итого

Подведем итоги. Стоит ли мигрировать на новый дотнет и ради чего?

Кажется, самое важное, ради чего стоит заморачиваться — это перфоманс. Ускорили практически все и достаточно заметно

Как на низком уровне — через улучшения в GC и JIT — так и на уровне отдельных частей фреймворка. Так что, если вы хотите выиграть в производительности, стоит как минимум попробовать обновить версию фреймворка и замерить, насколько ускорились основные сценарии.

Другие важные причины для миграции — это улучшения для Blazor и WPF/WinForms. Если вы используете любой из этих фреймворков, стоит попробовать перейти на .NET 5, все же изменения достаточно заметные и полезные. Однако стоит учитывать, что для Blazor миграция выйдет достаточно непростой.

C# 9 определенно не является серьезным мотивом для переезда на новый дотнет, но принесет с собой приятных обновлений синтаксиса за компанию‎. В то же время и рекорды, и паттерн матчинг добавляют много возможностей сделать код более запутанным — советую обсудить это в команде и решить, как лучше использовать (или не использовать) их в проекте.

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

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

Adblock
detector