Сайт о телевидении

Сайт о телевидении

» » Как узнать какие версии.NET Framework установлены на компьютере. Microsoft.NET Framework. Что это? Где скачать все версии, как узнать какая версия установлена

Как узнать какие версии.NET Framework установлены на компьютере. Microsoft.NET Framework. Что это? Где скачать все версии, как узнать какая версия установлена

С распространением.NET Framework все больше программ требуют, чтобы он был установлен в системе. Для обеспечения работоспособности разных приложений требуется установить этот фреймворк нескольких версий. Одна программа может требовать 3-ю версию, другой требуется уже новейшие версии 4-й линейки фреймворка. Как точно узнать, какие версии.NET Framework установлены в системе? Об этом я расскажу в статье.

Сперва несколько автоматических инструментов для определения версий.NET Framework:



- самая простая, но в то же время самая удобная, на мой взгляд, программа. В одном компактном окне Raymondcc .NET Detector показывает установленные версии, а при клике на неактивные строки вы сразу сможете перейти на сайт Microsoft, откуда можно скачать недостающий пакет.

Raymondcc.NET.Detector.zip (405,120 bytes)




.NET Runtime Version Checker помимо версий.NET Framework показывает версии Internet Explorer и ADO Database, что в некоторых случаях может помочь при разработке программ или устранении проблем. Офсайт разработчика прекратил существование, поэтому скачать.NET Runtime Version Checker можно отсюда.

.NET.Runtime.Version.Checker.1.2.0.8.zip (133,867 bytes)




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

ASoft.NET.Version.Detector.17.R1b.zip (468,266 bytes)


Если у вас нет возможности запустить программы-детекторы, то есть несколько других способов приблизительного определения установленных версий.NET Framework.



Первый способ - через реестр. Открываем ветку HKLM\SOFTWARE\Microsoft\.NET Framework и смотрим список ключей. В списке перечислены только базовые версии, например, если изначально была установлена версия 4.0, а затем обновлена до версии 4.6, то в списке останется только версия 4.0. Такую ситуацию как раз хорошо отображает программа ASoft .NET Version Detector.

Если вы часто устанавливаете программы, то наверняка сталкивались с ошибками Microsoft .NET Framework . Две самых распространённых - он либо не установлен, либо установлена не та версия.

Почему так происходит? Что это такое и зачем нужен NET Framework ?

Что такое.NET Framework?

Наверное, вы знаете, что основное занятие программистов - написание кода. При этом они используют различные языки программирования, позволяющие сказать компьютеру, что он должен делать:

Но есть одна проблема - языки программирования довольно примитивны. С их помощью можно легко выполнять простые действия вроде сложения и умножения. А всё остальное требует долгой и усердной работы. Хотите вывести текст или изображения на экран? Тогда придётся написать много кода, используя самые простые элементы языка.

Здесь на помощь приходит .NET Framework . По сути, это обширный набор написанных фрагментов кода (созданный и поддерживающийся Microsoft ) , который программисты могут использовать, чтобы быстрее писать программы.

К примеру, .NET Framework берёт на себя все операции по отрисовке окон на экране. Программисту остаётся только вставить текст, продумать меню программы, задать поведение кнопок, когда на них нажимает пользователь и т.д.

Но .NET Framework - намного больше, чем просто набор дополнительного кода. Он включает в себя инструменты, призванные сократить время разработки и дополнительные API , которые программисты могут использовать для простого взаимодействия с такими сервисами как Windows Store . Вместо того чтобы вручную писать весь необходимый код для поддержки универсальной платформы Windows , можно воспользоваться .NET Framework :


Есть только один недостаток разработки приложений с использованием .NET Framework - их невозможно запустить, если .NET не установлен в вашей системе.

NET Framework состоит из двух частей. Первая часть включает в себя набор заранее написанного кода (официально именуемого SDK , Dev Packs или «Пакеты разработчика» ). Вторая часть включает в себя программу, которая может интерпретировать код .NET Framework в команды для операционной системы. Эта часть, которую называют «средой выполнения », позволяет запускать программы, написанные с использованием .NET Framework .

В этом отношении .NET Framework напоминает Java - для использования написанных на нём приложений необходимо скачать среду выполнения Java Runtime Environment .

Говоря кратко, зачем нужен Microsoft NET Framework : если вы простой пользователь, который не собирается заниматься программированием, вам потребуется только среда выполнения .NET Framework .

Как установить.NET Framework

На большинстве компьютеров на Windows уже установлен .NET Framework , но его версия может быть устаревшей. Например, с Windows 8 и 8.1 поставляется версия 4.5.1 , а с Windows 10 — версия 4.6 , 4.6.1 или 4.6.2 .

На момент написания статьи самая свежая версия - .NET Framework 4.7 . Именно её мы и будем устанавливать:


NET Framework можно установить и через Центр обновления Windows . Но многие отключают обновление Windows , поэтому данный метод будет предпочтительнее.

Перед установкой - .NET Framework 4.7 можно установить на Windows 10 , Windows 8.1 и Windows 7 SP1 как на 32-битные, так и на 64-битные системы. Чтобы установка прошла без ошибок, Microsoft рекомендует иметь на жестком диске минимум 2.5 ГБ свободного пространства.

Microsoft предлагает два вида установщиков: веб-установщик и автономный установщик. Веб-установщик весит меньше 2 МБ, и скачивает все необходимые компоненты во время инсталляции. Поэтому вам потребуется стабильное соединение с интернетом.

Автономный установщик весит около 60 МБ, и не требует доступа к интернету во время инсталляции.

Оба установщика содержат одинаковые версии NET Framework , но мы предпочитаем использовать автономный установщик. Он надёжнее, и всегда будет под рукой, если потребуется переустановить .NET Framework . После скачивания процесс установки не должен вызвать затруднений - просто следуйте инструкциям, появляющимся на экране. И тогда вы быстрее поймете, зачем нужен NET Framework 4 .

NET Framework 4.7 Веб-установщик

NET Framework 4.7 Автономный установщик


Обратите внимание, что версия 4.7 - это выполняемое обновление версий 4 , 4.5 , 4.5.1 , 4.5.2 , 4.6 , 4.6.1 и 4.6.2 . Поэтому не удаляйте предыдущие версии после установки. .NET Framework 3.5 SP1 и более старые версии устанавливаются отдельно.

По умолчанию .NET Framework инсталлирует английскую версию независимо от того, какой вы используете установщик. Для локализации нужно скачать соответствующий языковой пакет. На данный момент языковые пакеты для версии 4.7 доступны только в виде автономных установщиков.

Языковой пакет.NET Framework 4.7

Ещё кое-что о.NET Framework

Еще одна причина, зачем нужен NET Framework . Несколько лет назад Microsoft открыла исходный код .NET Framework , позволив всем желающим вносить свой вклад в разработку платформы. В результате Microsoft стала самой активной организацией на GitHub .

Что это значит для вас? В сущности, то, что приложения, написанные на .NET Framework в будущем станут только популярнее и качественнее. Поэтому, почему бы не установить .NET Framework прямо сейчас?

Перевод статьи “Microsoft .NET Framework: Why You Need It and How to Install It on Windows ” был подготовлен дружной командой проекта

Доброго дня.

Не так уж и редко приходится сталкиваться с различными ошибками, связанными с пакетом Microsoft .NET Framework (чаще всего в играх, различных редакторах, программах для черчения, взять хотя бы тот же AutoCAD...).

Во всех подобных проблемах, необходимо узнать, какая версия.NET Framework требуется приложению, посмотреть есть ли она в Windows, и, если ее нет - обновить/установить. Казалось бы, ничего сложного, но есть нюансы. О них и пойдет речь в статье...

Для справки. Вообще, .NET Framework - это специальный пакет, который призван совместить между собой различное ПО, написанное на разных языках программирования (так, чтобы все работало). По идее, можно сравнить его с кодеками. Естественно, если у вас на компьютере нет нужной версии (или она была повреждена) - то программа у вас не запустится.

А теперь, ближе к делу, разберу самое основное...

Как узнать какие версии.NET Framework у меня установлены?

Способ №1

Необходимо открыть панель управления Windows по следующему пути: (прим. : установка и удаление программ) .

Важно!

Отмечу, что в ОС Windows 8 и 10 Microsoft .NET не указана в списке установленных программ (чтобы посмотреть версии, необходимо открыть ссылку в меню слева "Просмотр установленных обновлений").

В ОС Windows 10 нет возможности удаления.NET штатными средствами, однако, как правило возможна установка последней версии.NET (его обновление).

Способ №2

Для просмотра и решения проблем с.NET есть специальная утилита ".NET Version Detector" (доступна по ссылке: ) .

Она не требует установки. После запуска покажет список всех установленных версий, а также приведет ссылки на их загрузку (если вдруг чего-то не окажется - можно скачать и установить).

Можно ли не обновлять этот пакет, ведь я раньше не обновлял его и все работало?

Большинство пользователей и не вспоминает о нем (до поры до времени...). Дело в том, что в новых версиях Windows уже есть в комплекте (предустановлена в систему) определенная версия.NET и нет необходимости отдельно что-то скачивать или обновлять.

Кроме этого, .NET часто включают в установщики популярных игр, и при их инсталляции происходит и обновление этого пакета. Т.е. все действия незаметны для пользователя...

Однако, может стать так, что новая программа или игра потребует новый пакет.NET (или наоборот, захотите запустить что-то старое, которое потребует определенную версию.NET и никакую другую).

А дальше все просто: если нужной версии.NET не будет - то при запуске вы увидите ошибку (как на примере ниже). Кстати, часть ошибок может быть связана с "битой" версией.NET (именно поэтому, иногда рекомендуется обновлять это ПО).

Во-первых, сразу хочу посоветовать: не нужно скачивать все подряд версии и пытаться переустановить каждую (чуть ниже я отмечу, какие версии рекомендованы для разных ОС). Во-вторых, рекомендуется скачивать.NET только с официального сайта Microsoft (так сказать, не измененный установщик).

Способ №1. Чуть выше в статье я вам порекомендовал использовать утилиту ".NET Version Detector" - она не только покажет, какие версии пакета.NET у вас установлены в системе, но и даст ссылки на загрузку каждой из версии.

  • (для Windows XP);
  • (включает.NET 2.0, 3.0; для Windows XP, Vista);
  • (для Windows XP, Vista и 7);
  • (для Windows 7, 8 и 8.1);
  • (для Windows 7, 8, 8.1 и 10);
  • (для Windows 7, 8, 8.1 и 10).

Важно отметить , что версия.NET 4 (скажем) обновляет предыдущую версию.NET, поэтому для новых ОС Windows 8, 10 требуется установка (в 99,9% случаев) только последних версий.NET 4.

Дополнение!

Не могу не порекомендовать программу - даже если вам ненужно обновлять драйвера, все равно попробуйте воспользоваться ей. Дело в том, что она автоматически определяет недостающие компоненты в системе, которые могут сказаться на играх (.NET, Visual C++ и др. пакеты), и устанавливает их. Согласитесь, удобно!

Обратите внимание, все необходимое для игр (.NET, Visual C++ и др. пакеты) программа качает и ставит автоматически!

Можно ли удалить.NET Framework (или использовать другую версию)? Что для этого необходимо?

В большинстве случаев, удалять пакет не требуется - просто нужно задействовать другую версию. Сделать это можно во вкладке (которую можно открыть в панели управления Windows - чуть выше в статье показано, где найти это) .

Собственно, нужно-то поставить "галочку" рядом с тем пакетом, который хотите задействовать и согласиться с изменениями (ОС Windows может потребоваться загрузить недостающие файлы - делает она это сама в авто-режиме (просто потребуется подключение к интернету) ).

В тех случаях, когда у вас вроде бы установлена нужная версия.NET, а игра (программа) все равно сыпет ошибками и "ругается" - можно попробовать удалить пакет.NET и установить его заново.

В ряде случаев, пакет можно удалить, если открыть список установленных программ (Панель управления\Программы\Программы и компоненты ). Удаление происходит точно также, как и любой другой программы (см. скрин ниже).

В отдельных случаях, может потребовать специальная утилита: NET Framework Cleanup Tool (ссылка на блог разработчика Microsoft - ).

Утилита не нуждается в установке. Запускать ее, кстати, необходимо от имени администратора (прим. : т.е. щелкнуть по исполняемому файлу правой кнопкой мышки и в контекстном меню выбрать "запуск от имени администратора") .

Вот, собственно, и все на сегодня.

Дополнения приветствуются...

Всем всего доброго.

Microsoft .NET Framework представляет собой среду CLR и связанные файлы, необходимые для работы приложений, разработанных для платформы.NET Framework.
Платформа Microsoft .NET Framework - это новая модель программирования управляемого кода для операционной системы Windows.
Как только Вы установите.NET Framework, компонент моментально создаст все необходимые условия для работы программы. Таким образом данный компонент создаёт необходимые условия для работы Ваших программ.
.NET Framework может быть установлена в операционных системах Windows NT, 98, Me, 2000, XP, Server 2003, Vista, Server 2008 и 7, 8.
Я бы сказал, что.NET Framework это не кодеки, а альтернатива java - виртуальная машина, способная на разных платформах выполнять код, написанный под неё.
В отличии от явы код может не только интерпретироваться виртуальной машиной, но и транслироваться для выполнения непосредственно на железе (это даёт более высокое быстродействие).
Его применение не ограничивается только интернетом, обычный софт тоже пишется под.NET. Преимущество этого софта, что он будет выполнятся на любом компе и на любой операционке с поддержкой.NET, например на сотовых телефонах.
.NET Framework уже давно поставляется вместе с Windows. B Windows 7 стоит версия 3.5 и некоторые предыдущие, для совместимости. Cейчас актуальной является 4 версия.
В отличие от Windows 7, восьмерка поставляется с версией платформы 4.5, которая устанавливается автоматически в ходе установки операционной системы. Поэтому, если у вас установлена операционная система Windows 8, то никаких установщиков скачивать не нужно, всё уже установлено. Подробнее о платформе читайте на сайте MSDN .

Как определить какая версия.NetFramework установлена?

Существуют 3 простых метода определения версии.NET Framework установленной в Вашем компьютере:
Метод 1:
Используя Проводник Windows (Windows Explorer)
Используя Редактор реестра
Используя небольшую portable-утилиту.NET Version Detector Все версии Microsoft .NET Framework устанавливаются в следующую папку:

Где "%windir% " - корневая папка, в которую была установлена "Windows", т.е. C:\Windows\ .
Зайдите в меню Пуск->Выполнить и затем введите команду %windir%\Microsoft.NET\Framework\ Данную команду можно также ввести в адресную строку Проводника Windows (т.е. любой папки). Откроется папка, она показана на следующем скриншоте:


В этой папке Вы можете посмотреть какие версии у Вас установлены.
Метод 2: При помощи Редактора реестра.
Узнать какая версия.NET Framework установлена на Вашем компьютере также можно через Редактор реестра:

  1. Зайдите в меню Пуск->Выполнить и затем введите команду regedit и нажмите Enter .
    Откроется окно .
  2. Теперь ищем следующий ключ:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
  3. В этом ключе, содержаться еще несколько разделов, каждый из которых отображает название и версию установленного в Вашей системе.NET Framework.


Метод 3:
Проверить наличие установленных версий.NET Framework очень просто с помощью .NET Version Detector


Список всех версийl Microsoft .NET Framework

Ниже приведен список всех выпущенных на данный момент версий.NET Framework:
  • .NET Framework 1.0
  • .NET Framework 1.1 (входит в состав операционной системы начиная с Windows Server 2003)
  • .NET Framework 2.0
  • .NET Framework 3.0 (входит в состав операционной системы начиная с Windows Vista и Server 2008)
  • .NET Framework 3.5 (входит в состав операционной системы начиная с Windows 7 и Server 2008 R2)
  • .NET Framework 4.0

Скачать Microsoft .NET Framework 1.0


Скачать Microsoft .NET Framework 1.1


Скачать Microsoft .NET Framework 2.0


(веб-установщик) (на время установки требуется подключение к интернету)

Пакет обновления 1 (SP1) Microsoft .NET Framework 3.5 (Полностью автономный установщик)

Скачать Microsoft .NET Framework 4.0


Скачать (веб-установщик) (на время установки требуется подключение к интернету) (Русс.)

В этой статье

На компьютере можно установить и запустить несколько версий платформы.NET Framework. Users can install and run multiple versions of the .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 состоит из основных компонентов, версии которым присваиваются отдельно: Note that the .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 и сборкам назначается один номер версии); The .NET Framework and assemblies share the same version number.

    среда CLR, которая выполняет код приложения и управляет им. The common language runtime (CLR), which manages and executes your app"s code. CLR имеет собственный номер версии (см. раздел Версии и зависимости.NET Framework). The CLR is identified by its own version number (see Versions and Dependencies).

Чтобы получить точный список версий.NET Framework, установленных на компьютере, можно просмотреть реестр или отправить запрос в реестр с помощью кода: To get an accurate list of the .NET Framework versions installed on a computer, you can view the registry or query the registry in code:

Чтобы узнать версию среды CLR, можно использовать специальное средство или код: To find the CLR version, you can use a tool or code:

Примечание

Существует разница между версией.NET Framework и версией общеязыковой среды выполнения (CLR). There is a difference between the .NET Framework version and the common language runtime (CLR) version. Версия.NET Framework зависит от набора сборок, которые образуют библиотеку классов.NET Framework. The .NET Framework is versioned based on the set of assemblies that form the .NET Framework Class Library. Например, версии.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 зависит от среды выполнения, в которой выполняются приложения.NET Framework, где одна версия среды CLR обычно поддерживает несколько версий.NET Framework. The CLR is versioned based on the runtime on which .NET Framework applications execute, and a single CLR version typically supports multiple .NET Framework versions. CLR версии 4.30319.xxxxx поддерживает.NET Framework версии с 4 по 4.5.2, а среда CLR версии 4.30319.42000 поддерживает.NET Framework, начиная с версии 4.6. CLR version 4.30319.xxxxx supports .NET Framework versions 4 through 4.5.2; CLR version 4.30319.42000 supports .NET Framework versions starting with .NET Framework 4.6. Дополнительные сведения см. в описании свойства Environment.Version . For more information, see the Environment.Version property.

Сведения об определении установленных обновлений для каждой версии платформы.NET Framework см. в статье Практическое руководство. Определение установленных обновлений и исправлений безопасности платформы.NET Framework . For information about detecting the installed updates for each version of the .NET Framework, see How to: Determine Which .NET Framework Updates Are Installed . Сведения об установке.NET Framework см. в разделе Установка.NET Framework для разработчиков . For information about installing the .NET Framework, see Install the .NET Framework for developers .

Поиск в реестре.NET Framework версий 1–4 Find .NET Framework versions 1-4 in the registry

Поиск в реестре.NET Framework версии 4.5 и более поздних версий Find .NET Framework versions 4.5 and later in the registry

В следующей таблице перечислены минимальные значения параметра DWORD Release для каждой версии.NET Framework. The following table lists the minimum value of the Release DWORD for each .NET Framework version. Эти значения можно использовать следующим образом: You can use these values as follows:

    Чтобы определить наличие минимальной версии.NET Framework, проверьте, является ли значение DWORD Release , найденное в реестре, большим значения, указанного в таблице, или равным ему. To determine whether a minimum .NET Framework version is present, test whether the Release DWORD value found in the registry is greater than or equal to the value listed in the table. Например, если приложению требуется.NET Framework 4.7 или более поздней версии, необходимо проверить на наличие минимального значения раздела выпуска 460798. For example, if your application requires .NET Framework 4.7 or later, you would test for a minimum release key value of 460798.

    Чтобы протестировать на наличие нескольких версий, начните с последней версии.NET Framework, а затем протестируйте на каждую последующую более раннюю версию. To test for multiple versions, begin with the latest .NET Framework version, and then test for each successive earlier version.

В следующей таблице перечислены ключи только для выпущенных версий платформы.NET Framework. The following table lists the keys of released versions of the .NET Framework only. В ней не приводятся ключи предварительных версий или выпусков. It doesn"t list the keys of preview or pre-release versions.

Версия платформы.NET Framework .NET Framework Version Значение DWORD "Release" Value of the Release DWORD
.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 для определенных версий операционной системы Windows см. в статье Разделы выпуска.NET Framework и версии операционной системы Windows . For a complete table of release keys for the .NET Framework for specific Windows operating system versions, see .NET Framework release keys and Windows operating system versions .

Поиск в реестре.NET Framework версий 1–4 с помощью кода Find .NET Framework versions 1-4 with code

    Используйте класс Microsoft.Win32.RegistryKey , чтобы получить доступ к подразделу Software\Microsoft\NET Framework Setup\NDP\ в ветви HKEY_LOCAL_MACHINE реестра Windows. Use the Microsoft.Win32.RegistryKey class to access the Software\Microsoft\NET Framework Setup\NDP\ subkey under HKEY_LOCAL_MACHINE branch in the Windows registry.

    В следующем коде показан пример этого запроса. The following code shows an example of this query.

    Примечание

    Этот код не показывает, как обнаружить.NET Framework 4.5 или более поздней версии. This code does not show how to detect .NET Framework 4.5 or later. Для обнаружения этих версий проверьте DWORD Release , как описано в предыдущем разделе. Check the Release DWORD to detect those versions, as described in the previous section. Для кода, обнаруживающего.NET Framework 4.5 или более поздние версии, см. следующий раздел в данной статье. For code that detects .NET Framework 4.5 or later versions, see the next section in this article.

    Using Microsoft.Win32; using System; public static class VersionTest { public static void Main() { GetVersionFromRegistry(); } private static void GetVersionFromRegistry() { // Opens the registry key for the .NET Framework entry. using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32). OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\")) { foreach (var versionKeyName in ndpKey.GetSubKeyNames()) { // Skip .NET Framework 4.5 version information. if (versionKeyName == "v4") { continue; } if (versionKeyName.StartsWith("v")) { RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName); // Get the .NET Framework version value. var name = (string)versionKey.GetValue("Version", ""); // Get the service pack (SP) number. var sp = versionKey.GetValue("SP", "").ToString(); // Get the installation flag, or an empty string if there is none. var install = versionKey.GetValue("Install", "").ToString(); if (string.IsNullOrEmpty(install)) // No install info; it must be in a child subkey. Console.WriteLine($"{versionKeyName} {name}"); else { if (!(string.IsNullOrEmpty(sp)) && install == "1") { Console.WriteLine($"{versionKeyName} {name} SP{sp}"); } } if (! string.IsNullOrEmpty(name)) { continue; } foreach (var subKeyName in versionKey.GetSubKeyNames()) { RegistryKey subKey = versionKey.OpenSubKey(subKeyName); name = (string)subKey.GetValue("Version", ""); if (! string.IsNullOrEmpty(name)) sp = subKey.GetValue("SP", "").ToString(); install = subKey.GetValue("Install", "").ToString(); if (string.IsNullOrEmpty(install)) //No install info; it must be later. Console.WriteLine($"{versionKeyName} {name}"); else { if (!(string.IsNullOrEmpty(sp)) && install == "1") { Console.WriteLine($"{subKeyName} {name} SP{sp}"); } else if (install == "1") { Console.WriteLine($" {subKeyName} {name}"); } } } } } } } } // The example displays output similar to the following: // v2.0.50727 2.0.50727.4927 SP2 // v3.0 3.0.30729.4926 SP2 // v3.5 3.5.30729.4926 SP1 // v4.0 // Client 4.0.0.0 Imports Microsoft.Win32 Public Module VersionTest Public Sub Main() GetVersionFromRegistry() End Sub Private Sub GetVersionFromRegistry() " Opens the registry key for the .NET Framework entry. Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32). OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\") For Each versionKeyName In ndpKey.GetSubKeyNames() " Skip .NET Framework 4.5 and later. If versionKeyName = "v4" Then Continue For If versionKeyName.StartsWith("v") Then Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName) " Get the .NET Framework version value. Dim name = DirectCast(versionKey.GetValue("Version", ""), String) " Get the service pack (SP) number. Dim sp = versionKey.GetValue("SP", "").ToString() Dim install = versionKey.GetValue("Install", "").ToString() If String.IsNullOrEmpty(install) Then " No install info; it must be in a child subkey. Console.WriteLine($"{versionKeyName} {name}") Else If Not String.IsNullOrEmpty(sp) AndAlso install = "1" Then Console.WriteLine($"{versionKeyName} {name} SP{sp}") End If End If If Not String.IsNullOrEmpty(name) Then Continue For End If For Each subKeyName In versionKey.GetSubKeyNames() Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName) name = DirectCast(subKey.GetValue("Version", ""), String) If Not String.IsNullOrEmpty(name) Then sp = subKey.GetValue("SP", "").ToString() End If install = subKey.GetValue("Install", "").ToString() If String.IsNullOrEmpty(install) Then " No install info; it must be later. Console.WriteLine($"{versionKeyName} {name}") Else If Not String.IsNullOrEmpty(sp) AndAlso install = "1" Then Console.WriteLine($"{subKeyName} {name} SP{sp}") ElseIf install = "1" Then Console.WriteLine($" {subKeyName} {name}") End If End If Next End If Next End Using End Sub End Module " The example displays output similar to the following: " v2.0.50727 2.0.50727.4927 SP2 " v3.0 3.0.30729.4926 SP2 " v3.5 3.5.30729.4926 SP1 " v4.0 " Client 4.0.0.0

Поиск в реестре.NET Framework 4.5 и более поздних версий с помощью кода Find .NET Framework versions 4.5 and later with code

В следующем примере в реестре проверяется значение Release , чтобы определить, установлена ли версия 4.5 или более поздняя версия.NET Framework. The following example checks the Release value in the registry to determine whether .NET Framework 4.5 or a later version is installed.

Using System; using Microsoft.Win32; public class GetDotNetVersion { public static void Main() { GetDotNetVersion.Get45PlusFromRegistry(); } private static void Get45PlusFromRegistry() { const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"; using (var ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey)) { if (ndpKey != null && ndpKey.GetValue("Release") != null) { Console.WriteLine(".NET Framework Version: " + CheckFor45PlusVersion((int) ndpKey.GetValue("Release"))); } else { Console.WriteLine(".NET Framework Version 4.5 or later is not detected."); } } // Checking the version using >= enables forward compatibility. string CheckFor45PlusVersion(int releaseKey) { if (releaseKey >= 461808) return "4.7.2 or later"; if (releaseKey >= 461308) return "4.7.1"; if (releaseKey >= 460798) return "4.7"; if (releaseKey >= 394802) return "4.6.2"; if (releaseKey >= 394254) return "4.6.1"; if (releaseKey >= 393295) return "4.6"; if (releaseKey >= 379893) return "4.5.2"; if (releaseKey >= 378675) return "4.5.1"; if (releaseKey >= 378389) return "4.5"; // This code should never execute. A non-null release key should mean // that 4.5 or later is installed. return "No 4.5 or later version detected"; } } } // This example displays output like the following: // .NET Framework Version: 4.6.1 Imports Microsoft.Win32 Public Module GetDotNetVersion Public Sub Main() Get45PlusFromRegistry() End Sub Private Sub Get45PlusFromRegistry() Const subkey As String = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey) If ndpKey IsNot Nothing AndAlso ndpKey.GetValue("Release") IsNot Nothing Console.WriteLine(".NET Framework Version: " + CheckFor45PlusVersion(ndpKey.GetValue("Release"))) Else Console.WriteLine(".NET Framework Version 4.5 or later is not detected.") End If End Using End Sub " Checking the version using >= will enable forward compatibility. Private Function CheckFor45PlusVersion(releaseKey As Integer) As String If releaseKey >= 461308 Then Return "4.7.1 or later" Else If releaseKey >= 460798 Then Return "4.7" Else If releaseKey >= 394802 Then Return "4.6.2" Else If releaseKey >= 394254 Then Return "4.6.1" Else If releaseKey >= 393295 Then Return "4.6" Else If releaseKey >= 379893 Then Return "4.5.2" Else If releaseKey >= 378675 Then Return "4.5.1" Else If releaseKey >= 378389 Then Return "4.5" End If " This code should never execute. A non-null release key should mean " that 4.5 or later is installed. Return "No 4.5 or later version detected" End Function End Module " The example displays output like the following: " .NET Framework Version: 4.6.1

    Проверяется, имеет ли запись 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 (4.5 и более поздней версии) с помощью PowerShell Check for a minimum required .NET Framework version (4.5 and later) with PowerShell

В следующем примере проверяется значение ключевого слова Release , чтобы определить, установлена ли.NET Framework версии 4.6.2 или выше (True или False , если нет). The following example checks the value of the Release keyword to determine whether .NET Framework 4.6.2 or higher is installed (returning True if it is and False otherwise).

```PowerShell # PowerShell 5 Get-ChildItem "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | Foreach-Object { $_ -ge 394802 } ``` ```PowerShell # PowerShell 4 (Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -gt 394802 ``` You can replace `394802` in the previous example with another value from the following table in the (#net_b) section to check for a different minimum required .NET Framework version.

Поиск текущей версии среды CLR с помощью Clrver.exe Find the current CLR version with Clrver.exe

Для определения версий среды CLR, установленных на компьютере, можно использовать инструмент CLR Version (Clrver.exe). Use the CLR Version Tool (Clrver.exe) to determine which versions of the common language runtime are installed on a computer.

Запустите командную строку разработчика Visual Studio и введите clrver . From a Developer Command Prompt for Visual Studio, enter clrver . Выходные данные этой команды выглядят примерно следующим образом: This command produces output similar to the following: property to retrieve a Version object that identifies the version of the runtime that is currently executing the code. Это свойство возвращает одно значение, отражающее версию среды выполнения, в которой в данный момент выполняется код. Оно не возвращает версии сборок или другие версии среды выполнения, которые могут быть установлены на компьютере. Можно использовать свойство Version.Major , чтобы получить идентификатор основного выпуска (например, "4" в случае версии 4.0), свойство Version.Minor , чтобы получить идентификатор дополнительной версии (например, "0" в случае версии 4.0), либо метод Version.ToString , чтобы получить всю строку версии (например, "4.0.30319.18010", как показано в следующем коде). This property returns a single value that reflects the version of the runtime that is currently executing the code; it does not return assembly versions or other versions of the runtime that may have been installed on the computer.You can use the Version.Major property to get the major release identifier (for example, "4" for version 4.0), the Version.Minor property to get the minor release identifier (for example, "0" for version 4.0), or the Version.ToString method to get the entire version string (for example, "4.0.30319.18010", as shown in the following code).

Для платформы.NET Framework версий 4, 4.5, 4.5.1 и 4.5.2 свойство Environment.Version возвращает объект Version , строковое представление которого имеет форму 4.0.30319.xxxxx . For the .NET Framework Versions 4, 4.5, 4.5.1, and 4.5.2, the Environment.Version property returns a Version object whose string representation has the form 4.0.30319.xxxxx . Для.NET Framework 4.6 и более поздних версий оно имеет форму 4.0.30319.42000 . For the .NET Framework 4.6 and later, it has the form 4.0.30319.42000 .

Для.NET Framework 4.5 и более поздней версии не рекомендуется использовать свойство Environment.Version , чтобы определить версии среды выполнения. For the .NET Framework 4.5 and later, we do not recommend using the Environment.Version property to detect the version of the runtime. Вместо этого рекомендуется отправить запрос в реестр, как описано в разделе выше в этой статье. Instead, we recommend that you query the registry, as described in the section earlier in this article.

В следующем примере свойство Environment.Version используется для получения сведений о версии среды выполнения: The following example used the Environment.Version property to retrieve runtime version information:

Using System; public class VersionTest { public static void Main() { Console.WriteLine($"Version: {Environment.Version}"); } } // The example displays output similar to the following:" // Version: 4.0.30319.18010 Imports Microsoft.Win32 Public Module VersionTest Public Sub Main() GetVersionFromEnvironment() End Sub Private Sub GetVersionFromEnvironment() Console.WriteLine($"Version: {Environment.Version}") End Sub End Module " The example displays output similiar to the following:" " Version: 4.0.30319.18010

См. также See also

  • Практическое руководство. Определение установленных обновлений и исправлений безопасности платформы.NET Framework How to: Determine Which .NET Framework Updates Are Installed
  • Установка.NET Framework для разработчиков Install the .NET Framework for developers
  • Версии и зависимости Versions and Dependencies

Обратная связь

Мы бы хотели узнать ваше мнение. Укажите, о чем вы хотите рассказать нам.

Наша система обратной связи основана на принципах работы с вопросами на GitHub. Дополнительные сведения см. в