Как узнать какой net framework установлен в windows 10

Практическое руководство. Определение установленных версий платформы .NET Framework

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

Эта статья относится к .NET Framework. Чтобы определить, какие пакеты SDK и среды выполнения .NET Core и .NET 5+ установлены, см. раздел Как проверить, что .NET уже установлен.

Платформа .NET Framework состоит из двух основных компонентов, версии которым присваиваются отдельно:

набор сборок, которые являются коллекциями типов и ресурсов, обеспечивающих функции приложений (.NET Framework и сборкам назначается один номер версии); Например, версии .NET Framework включают в себя 4.5, 4.6.1 и 4.7.2.

среда CLR, которая выполняет код приложения и управляет им. Одна версия среды CLR обычно поддерживает несколько версий .NET Framework. Например, CLR версии 4.0.30319.xxxxx, где xxxxx меньше 42000, поддерживает .NET Framework версий с 4 по 4.5.2. Версия CLR не менее 4.0.30319.42000 поддерживает версии .NET Framework начиная с .NET Framework 4.6.

Средства, поддерживаемые сообществом, помогают определить, какие версии .NET Framework установлены:

Программа командной строки .NET Framework 2.0.

Модуль PowerShell 2.0.

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

Определение реализации и версии .NET, в которой работает приложение

Для запроса реализации и версии .NET, в которой работает ваше приложение, можно использовать свойство RuntimeInformation.FrameworkDescription. Если приложение работает в .NET Framework, выходные данные будут выглядеть примерно так:

Если же приложение работает в .NET Core или .NET 5+, выходные данные будут выглядеть следующим образом:

Обнаружение .NET Framework 4.5 и более поздних версий

Версия .NET Framework (4.5 и более поздние), установленная на компьютере, указана в реестре в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Если отсутствует подраздел Full, то .NET Framework 4.5 или более поздней версии не установлен.

Подраздел NET Framework Setup в пути реестра не начинается с точки.

Значение Release REG_DWORD в реестре представляет установленную версию .NET Framework.

Версия платформы .NET Framework Значение Release
.NET Framework 4,5 Все версии операционной системы Windows: 378389
.NET Framework 4.5.1 Windows 8.1 и Windows Server 2012 R2: 378675
Все другие версии операционной системы Windows: 378758
.NET Framework 4.5.2 Все версии операционной системы Windows: 379893
.NET Framework 4.6 Windows 10: 393295
Все другие версии операционной системы Windows: 393297
.NET Framework 4.6.1 Windows 10 с ноябрьским обновлением: 394254
Все остальные версии операционной системы Windows (включая Windows 10): 394271
.NET Framework 4.6.2 В юбилейном обновлении Windows 10 и Windows Server 2016: 394802
Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 394806
.NET Framework 4.7 Windows 10 Creators Update: 460798
Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 460805
.NET Framework 4.7.1 Windows 10 Fall Creators Update и Windows Server версии 1709: 461308
Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 461310
.NET Framework 4.7.2 Windows 10 за апрель 2018 г. Update и Windows Server версии 1803: 461808
Все остальные операционные системы, кроме Windows 10 с обновлением за апрель 2018 г. и Windows Server версии 1803: 461814
.NET Framework 4.8 Обновление Windows 10 за май 2019 года и обновление Windows 10 за ноябрь 2019 года: 528040
Обновление Windows 10 за май 2020 года и обновление Windows 10 за октябрь 2020 года: 528372
Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 528049

Минимальная версия

Чтобы определить, присутствует ли минимальная версия .NET Framework, проверьте значение Release REG_DWORD, которое больше или равно соответствующему значению, указанному в следующей таблице. Например, если приложение работает в .NET Framework 4.8 или более поздней версии, проверьте, является ли значение REG_DWORD Release большим или равным 528040.

Версия платформы .NET Framework Минимальное значение
.NET Framework 4,5 378389
.NET Framework 4.5.1 378675
.NET Framework 4.5.2 379893
.NET Framework 4.6 393295
.NET Framework 4.6.1 394254
.NET Framework 4.6.2 394802
.NET Framework 4.7 460798
.NET Framework 4.7.1 461308
.NET Framework 4.7.2 461808
.NET Framework 4.8 528040

Использование редактора реестра

В меню Пуск выберите Выполнить, введите regedit и нажмите кнопку ОК.

(Для запуска программы regedit необходимы учетные данные администратора.)

В редакторе реестра откройте следующий подраздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Если подраздел Full отсутствует, платформа .NET Framework 4.5 или более поздней версии не установлена.

Проверьте значение REG_DWORD с именем Release. Если оно имеется, платформа .NET Framework 4.5 или более поздней версии установлена. Это значение соответствует определенной версии .NET Framework. Например, на приведенном ниже рисунке значение параметра Release равно 528040, что является разделом выпуска для .NET Framework 4.8.

Запись реестра для .NET Framework 4.5

Использование PowerShell для проверки минимальной версии

Используйте команды PowerShell для проверки значения параметра Release в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.

В приведенных ниже примерах значение Release проверяется с целью определить, установлена ли версия 4.6.2 или более поздняя версия .NET Framework. Код возвращает значение True , если одна из таких версий установлена, и False в противном случае.

Отправка запросов в реестр с помощью кода

Используйте методы RegistryKey.OpenBaseKey и RegistryKey.OpenSubKey для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full в реестре Windows.

Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Например, подразделом реестра для .NET Framework 4.5 является HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full.

Проверьте значение REG_DWORD Release, чтобы определить установленную версию. Для обеспечения совместимости с последующими версиями значение должно быть больше или равно значению, указанному в таблице версий .NET Framework.

В следующем примере проверяется значение Release в реестре для поиска установленных версий .NET Framework 4.5–4.8.

Этот пример выводит данные, подобные следующим:

В этом примере применяются рекомендации для проверки версии:

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

Обнаружение .NET Framework с 1.0 по 4.0

Каждая версия .NET Framework с 1.1 по 4.0 указана в виде подраздела в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. В следующей таблице перечислены пути к каждой версии .NET Framework. Для большинства версий существует значение REG_DWORD Install, равное 1 , чтобы указать, что эта версия установлена. В этих подразделах также имеется значение REG_SZ Version, содержащее строку версии.

Подраздел NET Framework Setup в пути реестра не начинается с точки.

Версия платформы Подраздел реестра Значение
1.0 HKLM\Software\Microsoft\.NETFramework\Policy\v1.0\3705 REG_SZ Install равно 1
1.1 HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 REG_DWORD Install равно 1
2.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 REG_DWORD Install равно 1
3.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup Значение REG_DWORD InstallSuccess равно 1
3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 REG_DWORD Install равно 1
Клиентский профиль 4.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client REG_DWORD Install равно 1
Полный профиль 4.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full REG_DWORD Install равно 1

Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Например, подразделом реестра для .NET Framework 3.5 является HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.

Обратите внимание, что путь реестра к подразделу .NET Framework 1.0 отличается от остальных.

Использование редактора реестра (более ранние версии платформы)

В меню Пуск выберите Выполнить, введите regedit и нажмите кнопку ОК.

Для запуска программы regedit необходимы учетные данные администратора.

Откройте подраздел, соответствующий версии, которую необходимо проверить. Используйте таблицу в разделе Обнаружение .NET Framework с 1.0 по 4.0.

На приведенном ниже рисунке показан подраздел для версии .NET Framework 3.5 вместе со значением Version.

Запись реестра для .NET Framework 3.5.

Запрос реестра с помощью кода (более ранние версии платформы)

Используйте класс Microsoft.Win32.RegistryKey для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP в реестре Windows.

Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Например, подразделом реестра для .NET Framework 3.5 является HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.

В следующем примере ищутся установленные версии .NET Framework 1–4:

В этом примере отобразятся выходные данные, аналогичные следующим:

Поиск версий CLR

.NET Framework CLR, установленный с .NET Framework, имеет отдельную версию. Есть два способа определить версию среды выполнения .NET Framework CLR:

Инструмент Clrver.exe

Для определения версий среды CLR, установленных на компьютере, можно использовать средство CLR Version (Clrver.exe). Откройте Командную строку разработчика или PowerShell для разработчиков в Visual Studio и введите clrver .

Пример результатов выполнения:

Класс Environment

Для .NET Framework 4.5 и более поздних версий не следует использовать свойство Environment.Version для определения версии среды CLR. Вместо этого выполните запрос к реестру, как описано в разделе Обнаружение .NET Framework 4.5 и более поздних версий.

Выполните запрос к свойству Environment.Version, чтобы получить объект Version.

Возвращенный объект System.Version указывает версию среды выполнения, в которой в настоящее время выполняется код. Он не содержит версий сборок или других версий среды выполнения, которые установлены на компьютере.

Для платформы .NET Framework версий 4, 4.5, 4.5.1 и 4.5.2 возвращаемый объект Version имеет строковое представление 4.0.30319.xxxxx, где xxxxx меньше 42000. Для .NET Framework 4.6 и более поздних версий оно имеет форму 4.0.30319.42000.

Получив объект Version, выполните к нему запрос:

Чтобы получить идентификатор основного выпуска (например, 4 в случае версии 4.0), используйте свойство Version.Major.

Чтобы получить идентификатор дополнительной версии (например, 0 в случае версии 4.0), используйте свойство Version.Minor.

Чтобы получить всю строку версии (например, 4.0.30319.18010), используйте метод Version.ToString. Он возвращает одно значение, соответствующее версии среды выполнения, в которой выполняется код. Он не возвращает версий сборок или других версий среды выполнения, которые установлены на компьютере.

В следующем примере свойство Environment.Version используется для получения сведений о версии среды CLR:

В этом примере отобразятся выходные данные, аналогичные следующим:

Как узнать версию NET Framework в Windows 10

NET Framework — содержит в себе библиотеки для разработки различных приложений. Это API, который упрощает работу разработчикам в написании кода. Имеются много версий NET Framework 2.0, 3.5, 4.8, которые нужны для запуска игр или программ. Чем ниже версия, тем она старее и нужна для запуска более старых приложений. В определенные моменты, нужно знать какая версия NET Framework установлена или присутствует в системе Windows 10, чтобы её переустановить или установить недостающую.

Через реестр

Нажмите сочетание кнопок Win+R и введите regedit, чтобы открыть редактор реестра. В реестре перейдите по пути:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
  • В папке NDP будут представлены сборки NET Framework.
  • Раздвиньте список сборки и с правой стороны найдите значение Version.

В моем случае я проверят сборку 4 и мне показало, что версия NET Framework 4.8.

узнать версию NET Framework через реестр

Через PowerShell

Запустите PowerShell от имени администратора и введите следующий апплет:

  • Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -Recurse | Get-ItemProperty -Name version -EA 0 | Where < $_.PSChildName -Match ‘^(?!S)\p‘> | Select PSChildName, version

узнать версию NET Framework powershell

Список установленных версий

Мы также можем узнать какие версии NET Framework установлены в системе Windows. Для этого Microsoft в своей справке рекомендуют воспользоваться скриптом на GitHub. Запустите PowerShell от имени администратора и введите ниже команду для установки скрипта:

  • Install-Module -Name DotNetVersionLister -Scope CurrentUser #-Force
  • Нажмите Y и Enetr, чтобы установить скрипт.

Установка DotNetVersions

Далее введите команду, чтобы вывести список установленных версий NET Framework.

  • Get-STDotNetVersion

Get-STDotNetVersion

Программа Raymondcc .NET Detector

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

  • Пароль от архива — raymondcc

Как узнать какие версии .NET Framework установлены на компьютере

09.06.2018
itpro
Windows 10, Windows Server 2012 R2
Комментариев пока нет

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

  • Выводим список установленных версий .NET Framework в командной строке
  • Информация об установленных версиях .NET Framework в реестре
  • Проверка версии .Net Framework с помощью Powershell
  • Утилита .Net Version Detector
  • Утилита CLRver.exe

Выводим список установленных версий .NET Framework в командной строке

Все версии .NET Framework устанавливаются в каталоги:

  • %SystemRoot%\Microsoft.NET\Framework
  • %SystemRoot%\Microsoft.NET\Framework64

Поэтому самый простой способ вывести список установленных версий .Net – открыть данную папку. Каждой версии соответствует отдельный каталог с символов v в начале и номером версии в качестве имени папки. Либо можно вывести список каталогов (версий) .NET Framework в командной строке так:

dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /B

dir %WINDIR%\Microsoft.Net\Framework

Команда выведет все установленные версии кроме 4.5, т.к. .NET Framework 4.5 устанавливается в подкаталог v4.0.xxxxx.

Информация об установленных версиях .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 в реестре

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

С помощью следующей таблицы вы можете установить соответствие между номером релиза и версией .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 2018 Update
461814 .NET Framework 4.7.2

Проверка версии .Net Framework с помощью Powershell

Можно получить информацию об установленных версиях и релизах Framework с помощью PowerShell. Эту информацию также можно получить из реестра. Например, выведем информацию о текущем установелнном релизе .NET 4.x можно с помощью командлета Get-ItemProperty (подробнее о работе с записями реестра из PowerShell):

(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

Утилита .Net Version Detector

Существует сторонняя бесплатная утилита Asoft .Net Version Detector, с помощью которой можно в наглядном и удобном виде получить список установленные версий .NET Framework. Утилита качается с сайта разработчика (http://www.asoft.be/prod_netver.html) и не требует установки. В красивом окошке утилита выведет все установленные на компьютере версии .NET, а также максимальную доступную версию на данный момент.

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

Утилита .Net Version Detector

Утилита CLRver.exe

В состав Microsoft Visual Studio входит отдельная утилита CLRver.exe, которая выводит отчет обо всех установленных версиях среды CLR на данном компьютере. Выполните команду CLRver.exe в командной строке и в консоли появится список установленных версии dotNet на компьютере.

Утилита CLRver.exe

Напоследок, в качестве полезной информации отметим, что в серверных ОС начиная с Windows Server 2012, все базовые версии .Net (3.5 и 4.5) является частью системы и устанавливаются в виде отдельного компонента (Установка .NET Framework 3.5 в Windows Server 2016, в Windows Server 2012 R2), а минорные (4.5.1, 4.5.2 и т.д.) устанавливаются уже в виде обновлений через Windows Update или WSUS.

Предыдущая статья Следующая статья

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

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