Для поиска и устранения неисправностей установки иногда я просто хочу быстрый ответ на то, какая версия.NET установлена.
Существует ли способ определить версию Платформы.NET в стандартной системе Windows кроме рассмотрения каталогов?
Примечание: Это не для машины разработки, просто out-of-the-box окна
Следующие работы, но я ищу более простой путь.
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.
просто откройте командную строку VS2008 и введите clrver
РЕДАКТИРОВАТЬ : мой ответ не имеет отношения к вопросу OP (который был отредактирован после того, как я первоначально ответил).
Согласно MSDN вы также можете использовать реестр для проверки установленных версий.
Вдобавок этот сайт утверждает, что существует приложение командной строки csc, которое вы можете использовать - хотя я не пробовал его, я использую способ реестра во время установки, которую я запускаю.
Самый высокий номер версии из этого списка каталогов - это установленная версия.
Как видите, любая версия включает в себя все предыдущие версии, поэтому проверьте поддержку конкретной версии = проверьте эту конкретную директорию.
На CodeProject опубликована статья, которая может делать именно это, плюс основанная на командной строке.
Надеюсь, это поможет.
reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i version | sort /+26 /r
Верхняя запись - это последняя установленная версия фреймворка.
Примечание: Это не работает с v1.x фреймворком.
Обновление: Я пропустил комментарий о том, что вы ищете, что сказать отцу по телефону. Если это так, то команда выше, вероятно, не лучший подход для вас. Возможно, лучше просто попросить отца открыть проводник Windows и перевести его в папку .NET Framework, а затем сообщить вам цифры, которые там находятся.
Следующая программа определит, установлен ли .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 будет выполнена в тихом режиме, т.е. без пользовательского интерфейса или взаимодействия с пользователем.