В этой статье я расскажу о том, как можно определить версию.Net Framework-а, установленного на вашей машине:
- при помощи файловой системы Windows
- при помощи специальной утилиты CLRver.exe
- в коде из вашего проекта
- как определить версию фреймворка определенной сборки.
Способ 1 — при помощи файловой системы
Итак, самый простой способ определить, установлен ли.Net Framework на вашу машину — открыть соответствующую директорию папки Windows.
Директории с Framework-ом расположены по адресам
%SystemRoot%\Microsoft.NET\Framework
%SystemRoot%\Microsoft.NET\Framework64.
К примеру, переходим в c:\Windows\Microsoft.NET\Framework. По этому пути вы найдете папки, начинающиеся с символа v и версией фреймворка:
На представленном выше скриншоте мы видим несколько директорий, удовлетворяющих вышеуказанному требованию. Фреймворки, в которых установлены различные версии CLR, вы можете распознать, заглянув в ту или иную директорию — внутри директории, содержащей CLR, помимо всего прочего должны лежать сборки.net, как показано на рисунке:
Способ 2 — при помощи специальной утилиты CLRver.exe
Запустить утилиту вы можете при помощи Comand Promt вашей Visual Studio. Для этого зайдите в Пуск->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio Comand Prompt.
Выполните команду CLRver.exe. В консоли будет выведен список версий CLR, установленных на вашей машине:
Способ 3 — в коде вашего проекта
Это довольно просто — достаточно вызвать свойство System.Enviroment.Version, вот пример с MSDN:
// Sample for the Environment.Version property using System; class Sample { public static void Main() { Console.WriteLine(); Console.WriteLine("Version: {0}", Environment.Version.ToString()); } }
Способ 4 как определить версию фреймворка определенной сборки при помощи Reflection
Вы можете программно узнать версию фреймворка, на котором написана та или иная сборка:
Using System; using System.Reflection; ... System.Reflection.Assembly.LoadFrom("C:\...\MyAssembly.dll").ImageRuntimeVersion
На сегодня все. Всем спасибо за внимание =)
Устанавливая различные игры и программы, в инструкции по инсталляции указана версия компонента Microsoft .NET Framework. Если его нет совсем или ПО не подходит, приложения не смогут правильно работать и будут наблюдаться различные ошибки. Чтобы этого не допустить, перед установкой новой программы, необходимо ознакомиться с информацией о версии.NET Framework на своем компьютере.
Панель управления
Посмотреть версию Microsoft .NET Framework, который установлен на компьютере, можно через «Панель управления» . Переходим в раздел «Удаление программы» , находим там Microsoft .NET Framework и смотрим какие цифры стоят в конце названия. Недостаток способа заключается в том, что список иногда отображается некорректно и не все установленные версии в нем видны.
Использование ASoft .NET Version Detector
Для того, чтобы увидеть все версии, можно воспользоваться специальной утилитой ASoft .NET Version Detector. Найти и скачать ее можно в интернете. Запустив инструмент, система сканируется в автоматическом режиме. После окончания проверки, в нижней части окна можем увидеть все версии Microsoft .NET Framework, которые мы устанавливали и подробную информацию. Чуть выше, серым шрифтом помечены версии, которых в компьютере нет, а былым выделяются все установленные.
Реестр
Если скачивать ничего не хочется, можем посмотреть вручную, через системный реестр. В строке поиска вводим команду «Regedit» . Откроется окно. Здесь, через поиск нам необходимо найти строку (ветку) нашего компонента — «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP» . Нажав на него в дереве, откроется список папок, название, которых указывает на версию продукта. Более подробно можно посмотреть открыв оду из них. В правой части окна теперь видим список. Здесь поле «Install» со значением «1» , говорит о том, что ПО установлено. А в поле «Version» видна полная версия.
Как узнать, какие версии.NET Framework установлены на компьютер?
Посмотреть какие версии.NET Framework установлены были на компьютер можно в этой части реестра:
Внимание!!!
Будьте осторожны при работе в реестре. С помощью реестра можно вывести из строя операционную систему.
Для Windows XP:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\
1) Вызываем меню "Пуск".
4) Появится окно "Редактор реестра". В этом окне надо пройти по пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.
5) В папке ".NETFramework" будут еще папки, имена которых и будут являться версиями Framework (кроме policy).
Для Windows Vista, 7, 8.x, 10:
1) Вызываем меню "Пуск".
2) Выбираем меню "Выполнить".
3) В окне "Запуск программы" вводим regedit. Нажимаем кнопку "ОК".
4) Появится окно "Контроль учетных записей пользователей". В этом окне нажимаем на кнопку "Да".
5) Появится окно "Редактор реестра". В этом окне надо пройти по пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.
6) В папке ".NETFramework" будут еще папки, имена которых и будут являться версиями Framework. Имена этих папок будут начинаться с буквы
"v", а далее будут идти цифры. Например: V4.0.30319 или V2.0.50727.
Каждая новая версия платформы.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 можно посмотреть на сайте
В ОС 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 и выше.
Значение 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
(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release
Существует сторонняя бесплатная утилита Asoft .Net Version Detector , с помощью которой можно в наглядном и удобном виде получить список установленные версий.NET Framework. Утилита качается с сайта разработчика (http://www.asoft.be/prod_netver.html) и не требует установки. В красивом окошке утилита выведет все установленные на компьютере версии.NET, а также максимальную доступную версию на данный момент.
Довольно удобно, что прямо в программе можно перейти на страницу загрузки различный версий.NET Framework, где можно скачать нужный пакет.
В состав Microsoft Visual Studio входит отдельная утилита CLRver.exe , которая выводит отчет обо всех установленных версиях среды CLR на данном компьютере. Выполните команду CLRver.exe в командной строке и в консоли появится список установленных версии dotNet на компьютере.
Напоследок, в качестве полезной информации отметим, что в серверных ОС начиная с Windows Server 2012, все базовые версии.Net (3.5 и 4.5) является частью системы и устанавливаются в виде отдельного компонента ( , ), а минорные (4.5.1, 4.5.2 и т.д.) устанавливаются уже в виде обновлений через Windows Update или WSUS.