Как определить версию .Net Framework, установленную на компьютере
Каждая новая версия платформы .Net Framework несет в себе новые возможности, поэтому при развертывании нового приложения желательно точно знать, какие именно версии установлены на компьютере. Получить список версий .NET Framework можно несколькими путями.
Информация об установленных в системе версиях .Net хранится в реестре. Для ее получения надо открыть редактор реестра и перейти в раздел HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP, в котором перечислены все установленные в системе версии. Подробная информация хранится в разделах с именем версии, а для версий старше 4.0 — в подразделе Client или Full. Вот некоторые параметры:
• Install — флаг установки версии;
• Version — полный номер версии;
• Install Path — директория установки;
• Release — номер текущей версии.
Как правило, требуется узнать номер последней установленной версии. Выяснить это можно из параметра Release, например:
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 7\8 и Windows Server 2008\2012;
379893 — .Net Framework 4.5.2.
В качестве альтернативы редактору реестра можно воспользоваться консолью PowerShell. Доступ к реестру в PowerShell осуществляется с помощью провайдера, который позволяет просматривать ветки реестра как папки в файловой системе. Например, проверить содержимое ветки HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full можно командой:
dir «HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full»

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

В качестве заключения напомню, что в серверных ОС начиная с Windows Server 2012, базовые версии .Net (3.5 и 4.5) является частью системы и устанавливаются в виде компонента (Feature), а минорные (4.5.1, 4.5.2 и пр.) приезжают в качестве обновлений с Windows Update. Подробное описание новых версий .Net можно посмотреть на сайте MSDN.
Как узнать версию net framework
.NET Framework – это программная платформа. Она содержит разные инструменты и библиотеки, которые другие приложения могут использовать в своей работе.
Платформа состоит из двух компонент: среды CLR и библиотеки классов.
Среда CLR предоставляет инструменты управления памятью и другие службы системы.
Библиотеки классов .NET Framework – это обширные библиотеки проверенного кода. Разработчики вызывают этот код в своих приложениях из библиотек Фреймворка, чтобы не писать и не тестировать этот код самостоятельно. Разработка программ становится быстрее.
Определение установленных версий платформы .NET Framework
В ОС Windows допустимо установить и запустить несколько версий платформы .NET Framework. Какие-то версии .NET Framework включены в ОС как компоненты, другие нужно скачивать и устанавливать, и они будут отображаться в разделе «Установка\удаление программ».
Точный список всех включенных и установленных версий находится в реестре.
Как посмотреть. В редакторе реестра Regedit.exe откройте следующий подраздел:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
Обратите внимание, что путь к подразделу NDP включает подраздел Net Framework (без точки)
Версии платформы .NET Framework
В следующей таблице приведен краткий обзор версий платформы .NET Framework. После таблицы даны некоторые пояснения по графам таблицы и приведены примеры, как пользоваться таблицей, когда нужно определить тебуемую версию Фреймворка.

В графе «Заменяет» указано какие предыдущие версии включены в текущую версию платформы. Это помогает определить, какие версии Фреймворка должны быть установлены при тех или иных требованиях: вторая графа помогает уточнить требования к Фреймворку для приложений.
Например, в требованиях к приложению указано, что необходима платформа .NET Framework 2.0. Это означает, что на компьютере должна быть установлена платформа:
.NET Framework 2.0 или
.NET Framework 3.0 или
.NET Framework 3.5
Платформа 4.0 здесь уже не подойдет, потому что она не включает в себя версию 2.0, хотя она тоже может быть установлена. Но для работы приложения необходимы будут именно те версии, которые перечислены выше.
Если приложение «не видит» необходимый ему Фреймворк, разработчики приложений рекомендуют переустановить Фреймворки в хронологической последовательности. Иногда для этого нужно сначала удалить более новые версии, а затем заново установить\включить, начиная с наиболее старой необходимой версии.
В графе «Включена в компоненты Windows по умолчанию» указано в какие операционные системы та или иная версия Фреймворка включена по умолчанию как компонент Windows. В этом случае эту версию необходимо включать в панели управления или с помощью диспетчера сервера в Windows Server.
Если же версия платформы .NET Framework не входит в компоненты операционной системы, но может быть в ней установлена, то её скачивают и устанавливают как «обычное» приложение. Удаляют такую версию через Установку\удаление программ.
Последние две колонки таблицы помогают определить, как правильно устанавливать Фреймворк: через включение компонент Windows или через установку\удаление программ.
Для некоторых версий включение платформы .NET Framework в операционную систему «по умолчанию» произошло после очередного обновления операционной системы. Например, изначально в ОС Windows 10 Фреймворка версии 4.7 не было. Он «появился» после очередного обновления Windows 10.
Правильнее регулярно обновлять операционную систему и получать более новые версии платформы .NET Framework через центр обновлений, чем устанавливать свежую версию платформы .NET Framework через установку\удаление программ на не обновленную операционную систему.
Как узнать установленные версии .NET Framework в Windows?

14.12.2021

itpro

Windows 10, Windows 11, Windows Server 2016, Windows Server 2019

комментария 2
В Windows одновременно можно одновременно установить и запустить несколько версий .NET Framework. При разработке или развертывания нового приложения, основанного на библиотеках .NET, иногда нужно предварительно узнать какие версии и пакеты обновления .Net Framework уже установлены на компьютере пользователя или на сервере. Вы можете получить список версий .NET Framework, установленных на компьютере, несколькими способами.
Информация об установленных версиях .NET Framework в реестре
При установке или обновлении любой версии .NET Framework, изменения записываются в реестр Windows.
Откройте редактор реестра (regedit.exe) и перейдите в раздел HKLM\ SOFTWARE\Microsoft\NET Framework Setup\NDP. В этой ветке хранится информация обо всех версиях .NET на компьютере. Разверните любой раздел и обратите внимание на следующие параметры (для .Net 4.x нужно развернуть ветку Full):
- Install — флаг установки (если равен 1, значит данная версия .Net установлена на компьютере);
- Install Path — каталог, в который установлена данная версия .Net;
- Release — номер релиза .Net;
- Version — полный номер версии .Net Framework.

Примечание. Для .NET 4.0 и выше, если подраздел Full отсутствует, это значит, что данная версия Framework на компьютере не установлена.
К примеру, в данном примере видно, что на компьютере установлены .NET Framework v2.0.50727, 3.0, 3.5 и 4.7 (релиз 460805).
Обратите внимание, что в серверных ОС начиная с 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.
С помощью следующей таблицы вы можете установить соответствие между номером релиза и версией .NET Framework (применимо к .NET 4.5 и выше).
.NET Framework 4.8 сегодня — самая последняя доступная версия .NET Framework.
Как узнать версию .NET Framework с помощью PowerShell?
Можно получить информацию об установленных версиях и релизах NET Framework на компьютере с помощью PowerShell. Проще всего получить эти данные напрямую из реестра с помощью командлетов Get-ChildItem и Get-ItemProperty (подробнее о работе с записями реестра из PowerShell).
Чтобы вывести таблицу по всем версиям .Net Framework на компьютере, выполните команду:
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 2.0, 3.0, 3.5 и 4.7.
Начиная с версии .Net v4.0 более новая версия Framework перезаписывает (заменяет) старую версию. Т.е. если на компьютере был установлен .NET Framework 4.7, то при установке .NET Framework 4.8, старая версия пропадет.
Можно вывести только номер релиза (для версий .Net 4.x):
(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

Согласно таблице, номер 528449 соответствует версии .Net Framework 4.8 в Windows 11.
Проверить версию .Net Framework на удаленных компьютерах
Вы можете удаленно получить список версий .Net Framework, установленных на компьютерах в вашей сети помощью PowerShell.
Ниже представлен небольшой PowerShell скрипт, который получает список компьютеров из текстового файла и проверяет на всех версию .Net Framework. Для запуска команд на удаленных компьютерах используется WinRM командлет Invoke-Command.
Function GetNetFramework Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where < $_.PSChildName -match '^(?![SW])\p'> |
Select PSChildName, Version, Release, @name=»Product»
expression=switch -regex ($_.Release) «378389» < [Version]"4.5" >
«378675|378758» < [Version]"4.5.1" >
«379893» < [Version]"4.5.2" >
«393295|393297» < [Version]"4.6" >
«394254|394271» < [Version]"4.6.1" >
«394802|394806» < [Version]"4.6.2" >
«460798|460805» < [Version]"4.7" >
«461308|461310» < [Version]"4.7.1" >
«461808|461814» < [Version]"4.7.2" >
«528040|528049|528449|528372» < [Version]"4.8" >
< [Version]"Undocumented version (>4.8)» >
>
>
>
>
$result=@()
$servers= Get-Content C:\PS\servers.txt
foreach ($server in $servers)
$result+=Invoke-Command -ComputerName $server -ScriptBlock $function:GetNetFramework
>
$result| select PSComputerName,@>,Product,Version,Release| Out-GridView
Скрипт выводит табличку (через Out-GridView) со списком версий .Net Framework, установленных на удаленных компьютерах.

Также вы можете задать список компьютеров, на которых нужно проверить .NET так:
Или выбрать список компьютеров из домена с помощью командлета Get-ADComputer из модуля AD PowerShell. Следующая команда выберет все активные хосты Windows Server в домене:
$servers= Get-ADComputer -Filter ‘operatingsystem -like «*Windows server*» -and enabled -eq «true»‘
Вывести версии .NET Framework в командной строке
Все версии.NET Framework устанавливаются в следующие каталоги Windows:
- %SystemRoot%\Microsoft.NET\Framework
- %SystemRoot%\Microsoft.NET\Framework64
Вы можете просто открыть этот каталог и увидеть список установленных версий .NET. Каждой версии соответствует отдельный каталог с символом v и номером версии в качестве имени папки. Можно вывести список установленных версий .NET Framework из команды строки:
dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /B

Команда выведет все установленные версии кроме 4.5, т.к. .NET Framework 4.5 устанавливается в подкаталог v4.0.xxxxx.
Предыдущая статья Следующая статья
Какие версии .Net Framework установлены в системе
Узнать, какия версии .Net Framework установлены в вашей Windows можно двумя способами. Первый самый простой, для этого потребуется программа ASoft .NET Version Detector. А для второго не нужны никакие дополнительные средства, кроме редактора реестра Windows.
1. ASoft .NET Version Detector
Потребуется просто запустить программу.

Установленные версии выделены белым цветом шрифта, не установленные серым. В списке внизу окна выводится более подробная информация о месте расположения папок с .Net Framework и установленных версиях.
2. Системный реестр
Запускаем Редактор реестра: Пуск -> Выполнить -> regedit.
Переходим в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

Видим ветки с номерами версий и дополнительными параметрами.
Install = 1 говорит что версия установлена.
SP показывает номер установленного Service Pack.
Version показывает полный номер версии.
Материалы по теме
- Определение установленных версий .NET Framework программным путём
- Определение установленных обновлений .NET Framework программным путём
