Есть ли способ определить версию .NET Framework из командной строки?

StackOverflow https://stackoverflow.com/questions/2238696

Вопрос

Чтобы устранить установку, иногда я просто хочу быстрый ответ на какую версию .NET установлена.

Есть ли способ определить версию .NET Framework в стандартной системе Windows, кроме просмотра каталогов?

ПРИМЕЧАНИЕ: Это не для машины для разработки, просто вне коробки Windows

Следующее работает, но я ищу более простой способ.

dir %windir % microsoft.net framework v*

Directory of C:\Windows\Microsoft.Net\Framework

07/13/2009  07:20 PM    <DIR>          v1.0.3705
07/13/2009  07:20 PM    <DIR>          v1.1.4322
01/20/2010  01:16 PM    <DIR>          v2.0.50727
07/13/2009  09:37 PM    <DIR>          v3.0
01/20/2010  01:02 PM    <DIR>          v3.5
02/10/2010  03:20 AM    <DIR>          v4.0.21006

Обновление: не решение, а еще один прохладный список форматированного каталога

dir %windir % microsoft.net framework v* /o: -n /b

v4.0.21006
v3.5
v3.0
v2.0.50727
v1.1.4322
v1.0.3705
Это было полезно?

Решение

Основываясь на вашем обновлении, которое указывает на то, что это для прохождения неэх-опытного конечного пользователя, я предлагаю пойти на сайт Скотта Хансельмана http://www.smallestdotnet.com (Используйте Internet Explorer), который использует строку пользователя агента, чтобы сообщить вам, какой .NET Framework у вас есть, и дает вам рекомендации по достижению последней версии наиболее эффективным образом.

Старый ответ
С PowerShell вы могли бы сделать это (хотя присутствие PowerShell уже подразумевает, по крайней мере .NET 2.0)

Get-ChildItem "$($Env:WinDir)\Microsoft.Net\Framework" -i mscorlib.dll -r |
    ForEach-Object { $_.VersionInfo.ProductVersion }

Я не знаю, есть ли сопоставимый способ получить информацию о версии в простом старом Cmd.exe.

Другие советы

reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i version | sort /+26 /r

Лучшая запись - последняя версия установленной фреймворки.

Примечание: Это не работает с v1.x структуры.

Обновлять: Я пропустил комментарий, что вы ищете что -нибудь, чтобы рассказать своему отцу по телефону. Если это так, команда выше, вероятно, не лучший подход для вас. Возможно, вам лучше просто сказать отцу открыть Windows Explorer и перемещаться по нему в Dir .NET Framework Dir и сообщить вам о цифрах там.

Просто откройте командную строку VS2008 и введите Клрвер

РЕДАКТИРОВАТЬ: Мой ответ не имеет значения для вопроса OP (который был отредактирован после того, как я первоначально ответил).

Согласно с MSDN Вы также можете использовать реестр, чтобы проверить установленные версии.

Кроме того это Сайт утверждает, что есть приложение командной строки, называемое CSC, которое вы можете использовать - хотя я не пробовал, я использую путь реестра во время установки, которые я запускаю.

Следующее будет обнаружено, будет ли установлен .NET Framework 3.5 или нет .. и если не установлено его установку. Просто запустите это в командной строке.

if exist "%WINDIR%\Microsoft.Net\Framework\v3.5" goto end start /wait .\Framework\dotnetfx.exe /q /norestart" :end 

Если вы хотите обнаружить другие версии, просто замените v3.5 на v2.0 или v1.0 в зависимости от обстоятельств. Кроме того, если .NET не обнаруживается, установка .NET Framework будет выполнена в Silent Mode, то есть нет пользовательского интерфейса или взаимодействия с пользователем.

Есть статья, опубликованная на Кодепроект Это может сделать именно именно это плюс его командная строка.

Надеюсь это поможет.

Самый высокий номер версии из этого списка каталогов - установленная версия.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top