Есть ли способ определить версию .NET Framework из командной строки?
Чтобы устранить неполадки при установке, иногда я просто хочу получить быстрый ответ на версию .NET.
Есть ли способ определить версию .NET Framework в стандартной системе 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
UPDATE: не решение, но еще один классный каталог, отформатированный в формате
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
Ответы
Ответ 1
Основываясь на вашем обновлении, которое указывает, что это означает, что через него проходит нетехнический опытный конечный пользователь, я предлагаю перейти на сайт Скотта Гензельмана 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 }
Я не знаю, есть ли сопоставимый способ получить информацию о версии в обычном старом crusty cmd.exe.
Ответ 2
reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i version | sort /+26 /r
Верхняя запись - это последняя версия установленной платформы.
Примечание. Это не работает с v1.x рамки.
Обновление. Я пропустил комментарий, который вы ищете, чтобы сообщить своему папе по телефону. Если это так, команда выше, вероятно, не лучший подход для вас. Возможно, вам лучше поговорить с вашим отцом, чтобы открыть проводник Windows и перейти к нему в директорию .NET Framework и сообщить вам номера там.
Ответ 3
просто откройте командную строку VS2008 и введите clrver
Ответ 4
EDIT: мой ответ не имеет значения для вопроса OP (который был отредактирован после того, как я ответил).
В соответствии с MSDN вы также можете использовать реестр для проверки установленных версий.
Кроме того этот сайт утверждает, что есть приложение командной строки csc, которое вы можете использовать - не пробовал, хотя, я использую во время установки, которую я запускаю.
Ответ 5
В статье CodeProject есть статья, которая может сделать именно это, а также на основе командной строки.
Надеюсь, что это поможет.
Ответ 6
Ниже будет обнаружен, установлен ли .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-инфраструктуры будет выполнена в бесшумном режиме, то есть без вмешательства пользователя или пользователя.
Ответ 7
Самый высокий номер версии из этого каталога - это установленная версия.
Как вы можете видеть, любая версия включает все предыдущие версии, поэтому проверьте поддержку определенной версии = проверьте для этого конкретного каталога.