В Windows одновременно можно одновременно установить и запустить несколько версий .NET Framework. При разработке или развертывания нового приложения, основанного на библиотеках .NET, иногда нужно предварительно узнать какие версии и пакеты обновления .Net Framework уже установлены на компьютере пользователя или на сервере. Вы можете получить список версий .NET Framework, установленных на компьютере, несколькими способами.
Содержание:
- Информация об установленных версиях .NET Framework в реестре
- Как узнать версию .NET Framework с помощью PowerShell?
- Проверить версию .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 и выше).
Значение 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 |
393295 | .NET Framework 4.6 на Windows 10 |
393297 | .NET Framework 4.6 |
394254 | .NET Framework 4.6.1 на Windows 10 1511 |
394271 | .NET Framework 4.6.1 |
394802 | .NET Framework 4.6.2 на Windows 10 1607 |
394806 | .NET Framework 4.6.2 |
460798 | .NET Framework 4.7 на Windows 10 1703 |
460805 | .NET Framework 4.7 |
461308 | .NET Framework 4.7.1 на Windows 10 1709 |
461310 | .NET Framework 4.7.1 |
461808 | .NET Framework 4.7.2 на Windows 10 1803 |
461814 | .NET Framework 4.7.2 |
528372 | .NET Framework 4.8 на Windows 10 2004, 20H2, и 21H1 |
528040 | .NET Framework 4.8 на Windows 10 1903 и 1909 |
528449 | .NET Framework 4.8 в Windows Server 2022 и Windows 11 |
528049 | .NET Framework 4.8 (остальные версии Window) |
.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{L}’} | 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{L}'} |
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" }
{$_ -gt 528449} { [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,@{name = ".NET Framework"; expression = {$_.PSChildName}},Product,Version,Release| Out-GridView
Скрипт выводит табличку (через Out-GridView) со списком версий .Net Framework, установленных на удаленных компьютерах.
Также вы можете задать список компьютеров, на которых нужно проверить .NET так:
$servers= @("pc1","pc2","pc3","pc4","pc5")
Или выбрать список компьютеров из домена с помощью командлета 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.
Операционная система Windows 10 состоит из множества компонентов. Многие из них устанавливаются отдельно и далеко не всегда присутствуют в стоковой ОС. .NET Framework – это пакет библиотек, необходимых для корректной работы компьютера. Специальная платформа отвечает за запуск программ и приложений, а потому вопрос о том, как узнать версию .NET Framework в операционной системе Windows 10, становится очень важным.
Для чего нужно знать версию
Пакет библиотек регулярно обновляется. С очередным апдейтом пользователь получает доступ к новым функциям, которые не были доступны ранее. Зная, какой Framework установлен на компьютере, владелец ПК поймет, стоит ли ему обновляться.
Но даже в том случае, когда человек не заинтересован в получении новых фишек, ему все равно стоит знать о текущей версии программной платформы. Дело в том, что старый пакет .NET Framework не позволит запустить свежие приложения. А установка актуальной библиотеки становится универсальным решением проблем, связанных с запуском игр и программ на компьютере.
Важно. Одновременно с текущей версией библиотеки на ПК должны быть установлены предыдущие редакции. Все это необходимо для совместимости со старыми приложениями.
Как узнать версию .Net Framework на Windows 10
На компьютере может быть установлено сразу несколько поколений библиотек. От старых редакций не следует избавляться, поскольку от них тоже есть определенная польза, пускай и не такая большая, как в случае с актуальным ПО.
К сожалению, Windows 10 не располагает стандартными средствами определения текущего поколения Framework. Чтобы получить соответствующую информацию, пользователю придется выполнить несколько шагов через системное ПО, к которому обычно обращаются специалисты. Впрочем, переживать по этому поводу не стоит, поскольку все действия подробно описаны в инструкции. Остается выбрать наиболее подходящий вариант.
Через реестр
Первый способ, позволяющий проверить версию библиотеки, – обращение к Редактору реестра. В него заложен файл, содержащий в себе информацию о поколениях необходимого нам ПО, установленного на компьютере. А для выполнения операции используется следующая инструкция:
- Зажмите клавиши «Win» + «R», чтобы открыть окно «Выполнить».
- Введите запрос «regedit», а затем нажмите клавишу «Enter» или кнопку «OK».
- Оказавшись в Редакторе, перейдите в директорию: «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP».
- Обратите внимание на папки, содержащиеся в каталоге.
В директории «NDP» пользователь увидит папки с названиями вроде «v2.0», «v3.0», «v4.0» и так далее. Их имена свидетельствуют о поколении установленной библиотеки. Чтобы узнать конкретную версию, откройте подпапку и кликните по файлу «Version». В строке «Значение» будет указана текущая версия сборки.
С помощью PowerShell
Также посмотреть версию программного обеспечения можно через консоль PowerShell. Она представляет собой расширенную Командную строку, где при помощи специальных запросов системой отрабатываются действия. В данном случае нас будет интересовать команда, выдающая информацию о версии библиотеки.
Найти PowerShell можно через поисковую строку Windows 10. Далее в открывшемся окне остается ввести запрос «(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release» и нажать клавишу «Enter». После этого на экране компьютера высветится информация о текущем поколении ПО.
Важно. Вместо «v4» в запросе должна использоваться именно та сборка библиотеки, для которой требуется определить версию. Например, «v5» или «v3».
Программа Raymondcc .NET Detector
Поскольку встроенные средства Windows 10 не очень удобны для получения информации о сборке библиотеки, пользователям приходится обращаться к помощи стороннего ПО. И здесь отлично помогает утилита Raymondcc .NET Detector. Ее можно скачать с официального сайта разработчиков asoft.be.
Само по себе приложение не требует установки. Владелец ПК запускает exe-файл после распаковки архива. Затем на экране компьютера высвечивается интерфейс утилиты, на главном экране которого содержится вся необходимая информация. Так, поколения сборок специально разделены по цветам, чтобы пользователю было легче ориентироваться в интерфейсе. В соответствующем поле указывается конкретная версия Framework (например, 4.7.1).
Если нужное для запуска определенных программ поколение библиотек отсутствует – достаточно кликнуть по недостающей сборке, после чего пользователь переместится на страницу загрузки ПО. А там останется скачать актуальную версию программной платформы и запустить exe-файл для установки апдейта.
Встроенная утилита CLRver.exe
Хорошим методом определения сборки можно назвать ввод запроса «CLRver.exe» через Командную строку. Он вызывает одноименную утилиту, а в нижней части КС после нажатия клавиши «Enter» высветятся те сборки .NET Framework, которые установлены на компьютере.
На заметку. Открыть Командную строку можно через панель меню Пуск или при помощи окна «Выполнить» по запросу «cmd».
Скрипт для PowerShell
Наконец, предусмотрен скрипт, который показывает, какой пакет библиотек установлен на компьютере. Алгоритм действий здесь напоминает предыдущий метод, однако, вместо Командной строки, нужно воспользоваться консолью PowerShell:
- Откройте консоль.
- Введите запрос «Install-Module -Name DotNetVersionLister -Scope CurrentUser #-Force».
- Нажмите клавишу «Enter».
- Введите команду «Get-STDotNetVersion» и нажмите «Enter».
Теперь останется ознакомиться с информацией, появившейся на экране. Она содержит в себе сведения об уже установленных и недостающих версиях Framework.
Хотите найти версию .NET Framework, установленную на вашем ПК с Windows 10? Вы можете использовать команду PowerShell или найти ее через проводник.
Быстрый и простой способ найти версию .NET Framework — использовать команду PowerShell. Выполнение этой команды выводит список всех версий фреймворка, установленных на вашем ПК.
Чтобы использовать эту команду, сначала откройте PowerShell. Сделайте это, открыв меню «Пуск», выполнив поиск «Windows PowerShell» и выбрав его.
В окне PowerShell введите следующую команду и нажмите Enter:
PowerShell покажет список версий .NET Framework, установленных в вашей системе. Здесь наибольшее число — это самая последняя версия фреймворка, доступная на вашем ПК.
Теперь вы можете закрыть окно PowerShell.
Просмотр версии .NET Framework через проводник
Вы также можете версию .NET Framework через Проводник. Вам нужно будет перейти в папку C:\Windows\Microsoft.NET\Framework в вашей системе.
Чтобы быстро открыть папку «Framework» в проводнике, сначала откройте «Выполнить». Сделайте это, одновременно нажав клавиши Windows + R.
В поле «Выполнить» введите следующий путь и нажмите Enter. Если вы установили Windows 10 на диск, отличный от диска C, замените «C» на букву вашего установочного диска Windows в указанном ниже пути.
В окне папки Framework найдите папку с самым высоким номером версии. Дважды нажмите на эту папку, чтобы открыть ее.
На следующем скриншоте «v4.0.30319» — это папка с наибольшим номером, и мы откроем ее.
Примечание: Другие папки здесь представляют различные версии .NET Framework, установленные на вашем ПК. Помните, что на вашем ПК может быть установлено несколько версий .NET Framework.
Найдите в открывшейся папке файл «Accessibility.dll».
Щелкните правой кнопкой мыши «Accessibility.dll» и выберите «Свойства».
В окне «Свойства» нажмите вкладку «Подробно» вверху.
На вкладке «Подробно» отображается различная информация о выбранном файле. Здесь найдите значение рядом с «Версия файла», так как это значение является самой последней версией .NET Framework, установленной на вашем ПК.
На следующем скриншоте это значение 4.8.4084.0.
Search code, repositories, users, issues, pull requests…
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
(Image credit: Future)
On Windows 11 (and 10), the «.NET Framework» («dot net») is a development platform made up of programming languages, libraries, and tools for programmers to build different types of programs for desktops, laptops, tablets, servers, web apps, and games.
The .NET platform is not limited to Windows since it is open-source and cross-platform, which means it’s also supported on macOS and Linux devices.
Although regular users rarely have to worry about the version of .NET installed on their devices, some apps require specific releases to install and run as properly. In addition, developers usually have to use multiple versions of the development platform to build and test their apps. As a result, knowing the version of .NET installed on the computer can come in handy in many scenarios.
Whether you are a developer or a standard user, Windows 11 (and 10) provides several methods to determine the .NET Framework version through File Explorer, Registry, Command Prompt, and PowerShell.
This how-to guide will walk you through the steps to determine the .NET Framework version installed on Windows 11.
How to check .NET version using File Explorer
To use File Explorer to check the .NET Framework version on Windows 11, use these steps:
- Open File Explorer.
- Browse the following path: C:\Windows\Microsoft.NET\Framework
- Open the folder with the latest version – for example, v4.0.30319.
- Right-click any of the «.dll» files and select the Properties option.
- Click the Details tab.
- In the «Product version» section, confirm the version of .NET – for example, 4.8.9032.0.
Once you complete the steps, the file details will unveil the framework platform’s version installed on Windows.
How to check .NET version using Registry
To determine the .NET Framework version through the Registry, use these steps:
- Open Start.
- Search for regedit and click the top result to open the Registry.
- Browse the following path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
- Expand the main version key – for example, v4 or v4.0.
- Select the Client key.
- Quick tip: In releases older than version 4, the key will be a number or «Setup.» For example, .NET version 3.5 includes the version number under the 1033 key.
- On the right, check the «Version» string to determine the release of the .NET Framework.
After you complete the steps, you will know the releases of the Microsoft framework available on your version of Windows.
How to check .NET version with Command Prompt
To check the version of the .NET Framework with Command Prompt on Windows 11, use these steps:
- Open Start.
- Search for Command Prompt, right-click the top result, and select the Run as administrator option.
- Type the following command to determine the version of .NET installed on Windows and press Enter: reg query «HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP» /s
To make sure that version 4.x is installed, use this variant of the command: reg query «HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4» /s
- Check the «Version» field to confirm the releases of the .NET Framework installed on Windows 11.
Once you complete the steps, the versions of .NET running on the computer will be revealed.
How to check .NET version with PowerShell
To check the .NET version with PowerShell on Windows 11, use these steps:
- Open Start.
- Search for PowerShell, right-click the top result, and select the Run as administrator option.
- Type the following command to check the version of .NET installed and press Enter: Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match ‘^(?!S)\p{L}’} | Select PSChildName, version
- Confirm the version of the .NET Framework installed on the computer.
After you complete the steps, PowerShell will return the information for both the client and the full version of .NET installed on Windows 11 (or 10) (if applicable).
More resources
For more helpful articles, coverage, and answers to common questions about Windows 10 and Windows 11, visit the following resources:
- Windows 11 on Windows Central — All you need to know
- Windows 10 on Windows Central — All you need to know
All the latest news, reviews, and guides for Windows and Xbox diehards.
Mauro Huculak is technical writer for WindowsCentral.com. His primary focus is to write comprehensive how-tos to help users get the most out of Windows 10 and its many related technologies. He has an IT background with professional certifications from Microsoft, Cisco, and CompTIA, and he’s a recognized member of the Microsoft MVP community.