Есть ли способ определить версию .NET Framework из командной строки?
-
19-09-2019 - |
Вопрос
Чтобы устранить установку, иногда я просто хочу быстрый ответ на какую версию .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, то есть нет пользовательского интерфейса или взаимодействия с пользователем.
Есть статья, опубликованная на Кодепроект Это может сделать именно именно это плюс его командная строка.
Надеюсь это поможет.
Самый высокий номер версии из этого списка каталогов - установленная версия.
Как вы можете видеть, любая версия включает в себя все предыдущие версии, поэтому проверьте для поддержки конкретной версии = проверьте этот конкретный каталог.