- Как узнать какие версии .NET Framework установлены на компьютере
- Выводим список установленных версий .NET Framework в командной строке
- Информация об установленных версиях .NET Framework в реестре
- Проверка версии .Net Framework с помощью Powershell
- Утилита .Net Version Detector
- Утилита CLRver.exe
- How to check that .NET is already installed
- Check SDK versions
- Check runtime versions
- Check for install folders
- More information
- Проверка того, установлена ли платформа .NET How to check that .NET is already installed
- Проверка версий пакета SDK Check SDK versions
- Проверка версий среды выполнения Check runtime versions
- Проверка папок установки Check for install folders
- Дополнительные сведения More information
- Практическое руководство. Определение установленных версий платформы .NET Framework How to: Determine which .NET Framework versions are installed
- Определение реализации и версии .NET, в которой работает приложение Determine which .NET implementation and version an app is running on
- Обнаружение .NET Framework 4.5 и более поздних версий Detect .NET Framework 4.5 and later versions
- Минимальная версия Minimum version
- Использование редактора реестра Use Registry Editor
- Использование PowerShell для проверки минимальной версии Use PowerShell to check for a minimum version
- Отправка запросов в реестр с помощью кода Query the registry using code
- Обнаружение .NET Framework с 1.0 по 4.0 Detect .NET Framework 1.0 through 4.0
- Использование редактора реестра (более ранние версии платформы) Use Registry Editor (older framework versions)
- Запрос реестра с помощью кода (более ранние версии платформы) Query the registry using code (older framework versions)
- Поиск версий CLR Find CLR versions
Как узнать какие версии .NET Framework установлены на компьютере
В ОС Windows одновременно может быть установлено несколько версий .NET Framework. При установке на компьютере нового приложения, разработанного на .Net, иногда нужно предварительно узнать какие версии и пакеты обновления .Net Framework уже установлены на компьютере пользователя или на сервере. Получить список установленных версий .NET Framework можно разными способами.
Выводим список установленных версий .NET Framework в командной строке
Все версии .NET Framework устанавливаются в каталоги:
Поэтому самый простой способ вывести список установленных версий .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 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, где можно скачать нужный пакет.
Утилита 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.
How to check that .NET is already installed
This article teaches you how to check which versions of the .NET runtime and SDK are installed on your computer. If you have an integrated development environment, such as Visual Studio or Visual Studio for Mac, .NET may have already been installed.
Installing an SDK installs the corresponding runtime.
If any command in this article fails, you don’t have the runtime or SDK installed. For more information, see the install articles for Windows, macOS, or Linux.
Check SDK versions
You can see which versions of the .NET SDK are currently installed with a terminal. Open a terminal and run the following command.
You get output similar to the following.
Check runtime versions
You can see which versions of the .NET runtime are currently installed with the following command.
You get output similar to the following.
Check for install folders
It’s possible that .NET is installed but not added to the PATH variable for your operating system or user profile. In this case, the commands from the previous sections may not work. As an alternative, you can check that the .NET install folders exist.
When you install .NET from an installer or script, it’s installed to a standard folder. Much of the time the installer or script you’re using to install .NET gives you an option to install to a different folder. If you choose to install to a different folder, adjust the start of the folder path.
dotnet executable
C:\program files\dotnet\dotnet.exe
.NET SDK
C:\program files\dotnet\sdk\
.NET Runtime
C:\program files\dotnet\shared\
dotnet executable
/home/user/share/dotnet/dotnet
.NET SDK
/home/user/share/dotnet/sdk/
dotnet executable
/usr/local/share/dotnet/dotnet
.NET SDK
/usr/local/share/dotnet/sdk/
More information
You can see both the SDK versions and runtime versions with the command dotnet —info . You’ll also get other environmental related information, such as the operating system version and runtime identifier (RID).
Проверка того, установлена ли платформа .NET How to check that .NET is already installed
Эта статья описывает, как проверить, какие версии среды выполнения .NET и пакета SDK установлены на компьютере. This article teaches you how to check which versions of the .NET runtime and SDK are installed on your computer. Если у вас есть интегрированная среда разработки, такая как Visual Studio или Visual Studio для Mac, то возможно, платформа .NET уже установлена. If you have an integrated development environment, such as Visual Studio or Visual Studio for Mac, .NET may have already been installed.
При установке пакета SDK устанавливается и соответствующая среда выполнения. Installing an SDK installs the corresponding runtime.
Если любая команда из этой статьи завершается ошибкой, среда выполнения или пакет SDK не установлены. If any command in this article fails, you don’t have the runtime or SDK installed. Дополнительные сведения см. в статьях, посвященных установке в Windows, macOS или Linux. For more information, see the install articles for Windows, macOS, or Linux.
Проверка версий пакета SDK Check SDK versions
Вы можете узнать, какие версии пакета SDK для .NET установлены, с помощью терминала. You can see which versions of the .NET SDK are currently installed with a terminal. Откройте терминал и выполните приведенную ниже команду. Open a terminal and run the following command.
Вы получите результат, аналогичный приведенному ниже. You get output similar to the following.
Проверка версий среды выполнения Check runtime versions
Вы можете узнать, какие версии среды выполнения .NET установлены, с помощью приведенной ниже команды. You can see which versions of the .NET runtime are currently installed with the following command.
Вы получите результат, аналогичный приведенному ниже. You get output similar to the following.
Проверка папок установки Check for install folders
Возможно, платформа .NET установлена, но не добавлена в переменную PATH для профиля операционной системы или пользователя. It’s possible that .NET is installed but not added to the PATH variable for your operating system or user profile. В данном случае команды из предыдущих разделов могут не работать. In this case, the commands from the previous sections may not work. В качестве альтернативы можно проверить существование папок установки .NET. As an alternative, you can check that the .NET install folders exist.
При установке с помощью установщика или сценария .NET устанавливается в стандартную папку. When you install .NET from an installer or script, it’s installed to a standard folder. В большинстве случаев установщик или сценарий, который вы используете для установки .NET, предоставляет возможность установки в другую папку. Much of the time the installer or script you’re using to install .NET gives you an option to install to a different folder. Если вы решили выполнить установить в другую папку, измените начало пути к папке. If you choose to install to a different folder, adjust the start of the folder path.
Исполняемый файл dotnet dotnet executable
C:\program files\dotnet\dotnet.exe C:\program files\dotnet\dotnet.exe
Пакет SDK для .NET .NET SDK
C:\program files\dotnet\sdk\<версия>\ C:\program files\dotnet\sdk\
Среда выполнения .NET .NET Runtime
C:\program files\dotnet\shared\<тип среды выполнения>\<версия>\ C:\program files\dotnet\shared\
Исполняемый файл dotnet dotnet executable
/home/user/share/dotnet/dotnet /home/user/share/dotnet/dotnet
Пакет SDK для .NET .NET SDK
/home/user/share/dotnet/sdk/
Среда выполнения .NET .NET Runtime
/home/user/share/dotnet/shared/<тип среды выполнения>/<версия>/ /home/user/share/dotnet/shared/
Исполняемый файл dotnet dotnet executable
/usr/local/share/dotnet/dotnet /usr/local/share/dotnet/dotnet
Пакет SDK для .NET .NET SDK
/usr/local/share/dotnet/sdk/<версия>/ /usr/local/share/dotnet/sdk/
Среда выполнения .NET .NET Runtime
/usr/local/share/dotnet/shared/<тип среды выполнения>/<версия>/ /usr/local/share/dotnet/shared/
Дополнительные сведения More information
Версии пакета SDK и среды выполнения можно просмотреть с помощью команды dotnet —info . You can see both the SDK versions and runtime versions with the command dotnet —info . Вы также получите другие сведения о среде, такие как версия операционной системы и идентификатор среды выполнения (RID). You’ll also get other environmental related information, such as the operating system version and runtime identifier (RID).
Практическое руководство. Определение установленных версий платформы .NET Framework How to: Determine which .NET Framework versions are installed
На компьютере можно установить и запустить несколько версий платформы .NET Framework. Users can install and run multiple versions of .NET Framework on their computers. При разработке или развертывании приложения могут потребоваться сведения о том, какие версии .NET Framework установлены на компьютере пользователя. When you develop or deploy your app, you might need to know which .NET Framework versions are installed on the user’s computer. Реестр содержит список версий .NET Framework, установленных на компьютере. The registry contains a list of the versions of .NET Framework installed on the computer.
Эта статья относится к .NET Framework. This article is specific to .NET Framework. Чтобы определить, какие пакеты SDK и среды выполнения .NET Core и .NET 5+ установлены, см. раздел Как проверить, что .NET уже установлен. To determine which .NET Core and .NET 5+ SDKs and runtimes are installed, see How to check that .NET is already installed.
Платформа .NET Framework состоит из двух основных компонентов, версии которым присваиваются отдельно: .NET Framework consists of two main components, which are versioned separately:
набор сборок, которые являются коллекциями типов и ресурсов, обеспечивающих функции приложений A set of assemblies, which are collections of types and resources that provide the functionality for your apps. (.NET Framework и сборкам назначается один номер версии); .NET Framework and the assemblies share the same version number. Например, версии .NET Framework включают в себя 4.5, 4.6.1 и 4.7.2. For example, .NET Framework versions include 4.5, 4.6.1, and 4.7.2.
среда CLR, которая выполняет код приложения и управляет им. The common language runtime (CLR), which manages and executes your app’s code. Одна версия среды CLR обычно поддерживает несколько версий .NET Framework. A single CLR version typically supports multiple .NET Framework versions. Например, CLR версии 4.0.30319.xxxxx, где xxxxx меньше 42000, поддерживает .NET Framework версий с 4 по 4.5.2. For example, CLR version 4.0.30319.xxxxx where xxxxx is less than 42000, supports .NET Framework versions 4 through 4.5.2. Версия CLR не менее 4.0.30319.42000 поддерживает версии .NET Framework начиная с .NET Framework 4.6. CLR version greater than or equal to 4.0.30319.42000 supports .NET Framework versions starting with .NET Framework 4.6.
Средства, поддерживаемые сообществом, помогают определить, какие версии .NET Framework установлены: Community-maintained tools are available to help detect which .NET Framework versions are installed:
Программа командной строки .NET Framework 2.0. A .NET Framework 2.0 command-line tool.
Модуль PowerShell 2.0. A PowerShell 2.0 module.
Сведения об определении установленных обновлений для каждой версии платформы .NET Framework см. в статье Практическое руководство. Определение установленных обновлений платформы .NET Framework. For information about detecting the installed updates for each version of .NET Framework, see How to: Determine which .NET Framework updates are installed.
Определение реализации и версии .NET, в которой работает приложение Determine which .NET implementation and version an app is running on
Для запроса реализации и версии .NET, в которой работает ваше приложение, можно использовать свойство RuntimeInformation.FrameworkDescription. You can use the RuntimeInformation.FrameworkDescription property to query for which .NET implementation and version your app is running on. Если приложение работает в .NET Framework, выходные данные будут выглядеть примерно так: If the app is running on .NET Framework, the output will be similar to:
Если же приложение работает в .NET Core или .NET 5+, выходные данные будут выглядеть следующим образом: By comparison, if the app is running on .NET Core or .NET 5+, the output will be similar to:
Обнаружение .NET Framework 4.5 и более поздних версий Detect .NET Framework 4.5 and later versions
Версия .NET Framework (4.5 и более поздние), установленная на компьютере, указана в реестре в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. The version of .NET Framework (4.5 and later) installed on a machine is listed in the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Если отсутствует подраздел Full, то .NET Framework 4.5 или более поздней версии не установлен. If the Full subkey is missing, then .NET Framework 4.5 or above isn’t installed.
Подраздел NET Framework Setup в пути реестра не начинается с точки. The NET Framework Setup subkey in the registry path does not begin with a period.
Значение Release REG_DWORD в реестре представляет установленную версию .NET Framework. The Release REG_DWORD value in the registry represents the version of .NET Framework installed.
Версия платформы .NET Framework .NET Framework version | Значение Release Value of Release |
---|---|
.NET Framework 4,5 .NET Framework 4.5 | Все версии операционной системы Windows: 378389 All Windows operating systems: 378389 |
.NET Framework 4.5.1 .NET Framework 4.5.1 | Windows 8.1 и Windows Server 2012 R2: 378675 On Windows 8.1 and Windows Server 2012 R2: 378675 Все другие версии операционной системы Windows: 378758 On all other Windows operating systems: 378758 |
.NET Framework 4.5.2 .NET Framework 4.5.2 | Все версии операционной системы Windows: 379893 All Windows operating systems: 379893 |
.NET Framework 4.6 .NET Framework 4.6 | Windows 10: 393295 On Windows 10: 393295 Все другие версии операционной системы Windows: 393297 On all other Windows operating systems: 393297 |
.NET Framework 4.6.1 .NET Framework 4.6.1 | Windows 10 с ноябрьским обновлением: 394254 On Windows 10 November Update systems: 394254 Все остальные версии операционной системы Windows (включая Windows 10): 394271 On all other Windows operating systems (including Windows 10): 394271 |
.NET Framework 4.6.2 .NET Framework 4.6.2 | В юбилейном обновлении Windows 10 и Windows Server 2016: 394802 On Windows 10 Anniversary Update and Windows Server 2016: 394802 Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 394806 On all other Windows operating systems (including other Windows 10 operating systems): 394806 |
.NET Framework 4.7 .NET Framework 4.7 | Windows 10 Creators Update: 460798 On Windows 10 Creators Update: 460798 Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 460805 On all other Windows operating systems (including other Windows 10 operating systems): 460805 |
.NET Framework 4.7.1 .NET Framework 4.7.1 | Windows 10 Fall Creators Update и Windows Server версии 1709: 461308 On Windows 10 Fall Creators Update and Windows Server, version 1709: 461308 Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 461310 On all other Windows operating systems (including other Windows 10 operating systems): 461310 |
.NET Framework 4.7.2 .NET Framework 4.7.2 | Windows 10 за апрель 2018 г. Update и Windows Server версии 1803: 461808 On Windows 10 April 2018 Update and Windows Server, version 1803: 461808 Все остальные операционные системы, кроме Windows 10 с обновлением за апрель 2018 г. и Windows Server версии 1803: 461814 On all Windows operating systems other than Windows 10 April 2018 Update and Windows Server, version 1803: 461814 |
.NET Framework 4.8 .NET Framework 4.8 | Обновление Windows 10 за май 2019 года и обновление Windows 10 за ноябрь 2019 года: 528040 On Windows 10 May 2019 Update and Windows 10 November 2019 Update: 528040 Обновление Windows 10 за май 2020 года и обновление Windows 10 за октябрь 2020 года: 528372 On Windows 10 May 2020 Update and Windows 10 October 2020 Update: 528372 Все остальные версии операционной системы Windows (включая другие операционные системы Windows 10): 528049 On all other Windows operating systems (including other Windows 10 operating systems): 528049 |
Минимальная версия Minimum version
Чтобы определить, присутствует ли минимальная версия .NET Framework, проверьте значение Release REG_DWORD, которое больше или равно соответствующему значению, указанному в следующей таблице. To determine whether a minimum version of .NET Framework is present, check for a Release REG_DWORD value that’s greater than or equal to the corresponding value listed in the following table. Например, если приложение работает в .NET Framework 4.8 или более поздней версии, проверьте, является ли значение REG_DWORD Release большим или равным 528040. For example, if your application runs under .NET Framework 4.8 or a later version, test for a Release REG_DWORD value that’s greater than or equal to 528040.
Версия платформы .NET Framework .NET Framework version | Минимальное значение Minimum value |
---|---|
.NET Framework 4,5 .NET Framework 4.5 | 378389 378389 |
.NET Framework 4.5.1 .NET Framework 4.5.1 | 378675 378675 |
.NET Framework 4.5.2 .NET Framework 4.5.2 | 379893 379893 |
.NET Framework 4.6 .NET Framework 4.6 | 393295 393295 |
.NET Framework 4.6.1 .NET Framework 4.6.1 | 394254 394254 |
.NET Framework 4.6.2 .NET Framework 4.6.2 | 394802 394802 |
.NET Framework 4.7 .NET Framework 4.7 | 460798 460798 |
.NET Framework 4.7.1 .NET Framework 4.7.1 | 461308 461308 |
.NET Framework 4.7.2 .NET Framework 4.7.2 | 461808 461808 |
.NET Framework 4.8 .NET Framework 4.8 | 528040 528040 |
Использование редактора реестра Use Registry Editor
В меню Пуск выберите Выполнить, введите regedit и нажмите кнопку ОК. From the Start menu, choose Run, enter regedit, and then select OK.
(Для запуска программы regedit необходимы учетные данные администратора.) (You must have administrative credentials to run regedit.)
В редакторе реестра откройте следующий подраздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. In the Registry Editor, open the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Если подраздел Full отсутствует, платформа .NET Framework 4.5 или более поздней версии не установлена. If the Full subkey isn’t present, then you don’t have .NET Framework 4.5 or later installed.
Проверьте значение REG_DWORD с именем Release. Check for a REG_DWORD entry named Release. Если оно имеется, платформа .NET Framework 4.5 или более поздней версии установлена. If it exists, then you have .NET Framework 4.5 or later installed. Это значение соответствует определенной версии .NET Framework. Its value corresponds to a particular version of .NET Framework. Например, на приведенном ниже рисунке значение параметра Release равно 528040, что является разделом выпуска для .NET Framework 4.8. In the following figure, for example, the value of the Release entry is 528040, which is the release key for .NET Framework 4.8.
Использование PowerShell для проверки минимальной версии Use PowerShell to check for a minimum version
Используйте команды PowerShell для проверки значения параметра Release в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Use PowerShell commands to check the value of the Release entry of the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full subkey.
В приведенных ниже примерах значение Release проверяется с целью определить, установлена ли версия 4.6.2 или более поздняя версия .NET Framework. The following examples check the value of the Release entry to determine whether .NET Framework 4.6.2 or later is installed. Код возвращает значение True , если одна из таких версий установлена, и False в противном случае. This code returns True if it’s installed and False otherwise.
Отправка запросов в реестр с помощью кода Query the registry using code
Используйте методы RegistryKey.OpenBaseKey и RegistryKey.OpenSubKey для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full в реестре Windows. Use the RegistryKey.OpenBaseKey and RegistryKey.OpenSubKey methods to access the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full subkey in the Windows registry.
Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. If the app you’re running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . The 64-bit registry is available in the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ subkey. Например, подразделом реестра для .NET Framework 4.5 является HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full. For example, the registry subkey for .NET Framework 4.5 is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full.
Проверьте значение REG_DWORD Release, чтобы определить установленную версию. Check the Release REG_DWORD value to determine the installed version. Для обеспечения совместимости с последующими версиями значение должно быть больше или равно значению, указанному в таблице версий .NET Framework. To be forward-compatible, check for a value greater than or equal to the value listed in the .NET Framework version table.
В следующем примере проверяется значение Release в реестре для поиска установленных версий .NET Framework 4.5–4.8. The following example checks the value of the Release entry in the registry to find the versions of .NET Framework 4.5-4.8 that are installed:
Этот пример выводит данные, подобные следующим: The example displays output like the following:
В этом примере применяются рекомендации для проверки версии: This example follows the recommended practice for version checking:
- Проверяется, имеет ли параметр Release значение, большее или равное значению известных разделов выпуска. It checks whether the value of the Release entry is greater than or equal to the value of the known release keys.
- Проверка выполняется с самой последней до самой ранней версии. It checks in order from most recent version to earliest version.
Обнаружение .NET Framework с 1.0 по 4.0 Detect .NET Framework 1.0 through 4.0
Каждая версия .NET Framework с 1.1 по 4.0 указана в виде подраздела в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. Each version of .NET Framework from 1.1 to 4.0 is listed as a subkey at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. В следующей таблице перечислены пути к каждой версии .NET Framework. The following table lists the path to each .NET Framework version. Для большинства версий существует значение REG_DWORD Install, равное 1 , чтобы указать, что эта версия установлена. For most versions, there’s an Install REG_DWORD value of 1 to indicate this version is installed. В этих подразделах также имеется значение REG_SZ Version, содержащее строку версии. In these subkeys, there’s also a Version REG_SZ value that contains a version string.
Подраздел NET Framework Setup в пути реестра не начинается с точки. The NET Framework Setup subkey in the registry path does not begin with a period.
Версия платформы Framework Version | Подраздел реестра Registry Subkey | Значение Value |
---|---|---|
1.0 1.0 | HKLM\Software\Microsoft\.NETFramework\Policy\v1.0\3705 HKLM\Software\Microsoft\.NETFramework\Policy\v1.0\3705 | REG_SZ Install равно 1 Install REG_SZ equals 1 |
1.1 1.1 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 | REG_DWORD Install равно 1 Install REG_DWORD equals 1 |
2.0 2.0 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | REG_DWORD Install равно 1 Install REG_DWORD equals 1 |
3.0 3.0 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup | Значение REG_DWORD InstallSuccess равно 1 InstallSuccess REG_DWORD equals 1 |
3.5 3.5 | HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 | REG_DWORD Install равно 1 Install REG_DWORD equals 1 |
Клиентский профиль 4.0 4.0 Client Profile | HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client | REG_DWORD Install равно 1 Install REG_DWORD equals 1 |
Полный профиль 4.0 4.0 Full Profile | HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full | REG_DWORD Install равно 1 Install REG_DWORD equals 1 |
Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. If the app you’re running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . The 64-bit registry is available in the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ subkey. Например, подразделом реестра для .NET Framework 3.5 является HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5. For example, the registry subkey for .NET Framework 3.5 is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.
Обратите внимание, что путь реестра к подразделу .NET Framework 1.0 отличается от остальных. Notice that the registry path to the .NET Framework 1.0 subkey is different from the others.
Использование редактора реестра (более ранние версии платформы) Use Registry Editor (older framework versions)
В меню Пуск выберите Выполнить, введите regedit и нажмите кнопку ОК. From the Start menu, choose Run, enter regedit, and then select OK.
Для запуска программы regedit необходимы учетные данные администратора. You must have administrative credentials to run regedit.
Откройте подраздел, соответствующий версии, которую необходимо проверить. Open the subkey that matches the version you want to check. Используйте таблицу в разделе Обнаружение .NET Framework с 1.0 по 4.0. Use the table in the Detect .NET Framework 1.0 through 4.0 section.
На приведенном ниже рисунке показан подраздел для версии .NET Framework 3.5 вместе со значением Version. The following figure shows the subkey and its Version value for .NET Framework 3.5.
Запрос реестра с помощью кода (более ранние версии платформы) Query the registry using code (older framework versions)
Используйте класс Microsoft.Win32.RegistryKey для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP в реестре Windows. Use the Microsoft.Win32.RegistryKey class to access the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP subkey in the Windows registry.
Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. If the app you’re running is 32-bit and running in 64-bit Windows, the registry paths will be different than previously listed. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . The 64-bit registry is available in the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ subkey. Например, подразделом реестра для .NET Framework 3.5 является HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5. For example, the registry subkey for .NET Framework 3.5 is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.
В следующем примере ищутся установленные версии .NET Framework 1–4: The following example finds the versions of .NET Framework 1-4 that are installed:
В этом примере отобразятся выходные данные, аналогичные следующим: The example displays output similar to the following:
Поиск версий CLR Find CLR versions
.NET Framework CLR, установленный с .NET Framework, имеет отдельную версию. The .NET Framework CLR installed with .NET Framework is versioned separately. Есть два способа определить версию среды выполнения .NET Framework CLR: There are two ways to detect the version of the .NET Framework CLR:
Инструмент Clrver.exe The Clrver.exe tool
Для определения версий среды CLR, установленных на компьютере, можно использовать средство CLR Version (Clrver.exe). Use the CLR Version tool (Clrver.exe) to determine which versions of the CLR are installed on a computer. Откройте Командную строку разработчика или PowerShell для разработчиков в Visual Studio и введите clrver . Open Visual Studio Developer Command Prompt or Visual Studio Developer PowerShell and enter clrver .
Пример результатов выполнения: Sample output:
Класс Environment The Environment class
Для .NET Framework 4.5 и более поздних версий не следует использовать свойство Environment.Version для определения версии среды CLR. For .NET Framework 4.5 and later versions, don’t use the Environment.Version property to detect the version of the CLR. Вместо этого выполните запрос к реестру, как описано в разделе Обнаружение .NET Framework 4.5 и более поздних версий. Instead, query the registry as described in Detect .NET Framework 4.5 and later versions.
Выполните запрос к свойству Environment.Version, чтобы получить объект Version. Query the Environment.Version property to retrieve a Version object.
Возвращенный объект System.Version указывает версию среды выполнения, в которой в настоящее время выполняется код. The returned System.Version object identifies the version of the runtime that’s currently executing the code. Он не содержит версий сборок или других версий среды выполнения, которые установлены на компьютере. It doesn’t return assembly versions or other versions of the runtime that may have been installed on the computer.
Для платформы .NET Framework версий 4, 4.5, 4.5.1 и 4.5.2 возвращаемый объект Version имеет строковое представление 4.0.30319.xxxxx, где xxxxx меньше 42000. For .NET Framework versions 4, 4.5, 4.5.1, and 4.5.2, the string representation of the returned Version object has the form 4.0.30319.xxxxx, where xxxxx is less than 42000. Для .NET Framework 4.6 и более поздних версий оно имеет форму 4.0.30319.42000. For .NET Framework 4.6 and later versions, it has the form 4.0.30319.42000.
Получив объект Version, выполните к нему запрос: After you have the Version object, query it as follows:
Чтобы получить идентификатор основного выпуска (например, 4 в случае версии 4.0), используйте свойство Version.Major. For the major release identifier (for example, 4 for version 4.0), use the Version.Major property.
Чтобы получить идентификатор дополнительной версии (например, 0 в случае версии 4.0), используйте свойство Version.Minor. For the minor release identifier (for example, 0 for version 4.0), use the Version.Minor property.
Чтобы получить всю строку версии (например, 4.0.30319.18010), используйте метод Version.ToString. For the entire version string (for example, 4.0.30319.18010), use the Version.ToString method. Он возвращает одно значение, соответствующее версии среды выполнения, в которой выполняется код. This method returns a single value that reflects the version of the runtime that’s executing the code. Он не возвращает версий сборок или других версий среды выполнения, которые установлены на компьютере. It doesn’t return assembly versions or other runtime versions that may be installed on the computer.
В следующем примере свойство Environment.Version используется для получения сведений о версии среды CLR: The following example uses the Environment.Version property to retrieve CLR version information:
В этом примере отобразятся выходные данные, аналогичные следующим: The example displays output similar to the following: