В ОС Windows одновременно может быть установлено несколько версий .NET Framework. При установке на компьютере нового приложения, разработанного на .Net, иногда нужно предварительно узнать какие версии и пакеты обновления .Net Framework уже установлены на компьютере пользователя или на сервере. Получить список установленных версий .NET Framework можно разными способами.
Выводим список установленных версий .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
Команда выведет все установленные версии кроме 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 v2.0.50727, 3.0, 3.5 и 4.0 (релиз 460805).
Примечание. Для .NET 4.0 и выше, если подраздел Full отсутствует, это значит, что данная версия Framework на компьютере не установлена.
С помощью следующей таблицы вы можете установить соответствие между номером релиза и версией .NET Framework 4.5 и выше.
378389 - .NET Framework 4.5
378675 - NET Framework 4.5.1 на Windows 8.1 / Windows Server 2012 R
2378758 - .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, где можно скачать нужный пакет.
Утилита CLRver.exe
В состав Microsoft Visual Studio входит отдельная утилита CLRver.exe, которая выводит отчет обо всех установленных версиях среды CLR на данном компьютере. Выполните команду CLRver.exe в командной строке и в консоли появится список установленных версии dotNet на компьютере.
Напоследок, в качестве полезной информации отметим, что в серверных ОС начиная с 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.