В Windows версию .NET Framework проверяют по-разному: 3.5 смотрят в компонентах Windows, а 4.x надежнее проверять через реестр. В списке программ версия может не отображаться, потому что .NET Framework часто является системным компонентом
- Быстрая проверка через PowerShell
- Проверка через cmd
- Как проверить .NET Framework 3.5
- Проверка через DISM
- Почему в Windows 10 может быть несколько .NET
- Частые ошибки
- Команда dotnet —info не показывает .NET Framework
- Release есть, но непонятно, какая версия
- В списке программ ничего нет
- Какой способ выбрать
- Что почитать дальше по .NET Framework
Быстрая проверка через PowerShell
Откройте PowerShell и выполните:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" | Select-Object Release
Если вы видите число в поле Release, на компьютере установлен .NET Framework 4.x
Пример:
Release
-------
528040
Дальше Release-номер нужно сверить с таблицей Microsoft. В практическом смысле: значения ветки 528040+ относятся к .NET Framework 4.8, а 533320+ — к .NET Framework 4.8.1. Точное соответствие лучше проверять по официальной таблице, потому что оно зависит от версии Windows
Проверка через cmd
Можно использовать reg query:
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release
Если ключ не найден, возможно, нет .NET Framework 4.x или вы проверяете не ту ветку системы
Как проверить .NET Framework 3.5
Нажмите Win, введите:
optionalfeatures
В списке компонентов найдите:
.NET Framework 3.5 (includes .NET 2.0 and 3.0)
Если галочка включена, компонент установлен
Проверка через DISM
Для .NET Framework 3.5 можно использовать командную строку от имени администратора:
DISM /Online /Get-FeatureInfo /FeatureName:NetFx3
Если в ответе указано State : Enabled, компонент включен. Если Disabled, он есть как возможность Windows, но сейчас не активен
Почему в Windows 10 может быть несколько .NET
.NET Framework 3.5 нужен старым программам. .NET Framework 4.x нужен более новым программам. Они могут быть установлены одновременно, и это нормально
Не путайте .NET Framework с современным .NET SDK/Runtime. Команда:
dotnet --info
показывает современный .NET, но не заменяет проверку .NET Framework 3.5/4.x
Частые ошибки
Команда dotnet —info не показывает .NET Framework
Это ожидаемо. dotnet относится к современному .NET SDK/Runtime, а .NET Framework проверяется через компоненты Windows и реестр
Release есть, но непонятно, какая версия
Сверьте число с таблицей Microsoft. Не гадайте по названию папки
В списке программ ничего нет
Для системных компонентов Windows это нормально. Используйте PowerShell, реестр и optionalfeatures
Какой способ выбрать
Если нужно понять, запустится ли старая программа, сначала проверяйте .NET Framework 3.5. Если программа требует 4.x, смотрите Release в реестре. Если вы разработчик и проверяете современный .NET, отдельно используйте dotnet --info. Это три разных проверки, и смешивать их не стоит
Что почитать дальше по .NET Framework
Если нужен общий маршрут по теме, откройте рубрику .NET Framework. Для соседних задач пригодятся эти разборы:
- .NET Framework 3.5 offline installer для Windows 10
- .NET Framework 3.5 для Windows Server 2012 R2 x64: как скачать и установить
- .NET Framework для Windows: что скачать и как не поставить лишнее
- Microsoft .NET Framework 4.0 для Windows XP 32 bit: где скачать и как установить



