首页 文章

有没有办法从命令行确定.NET Framework版本?

提问于
浏览
28

要对安装进行故障排除,有时我只想快速回答安装的.NET版本 .

有没有办法在标准Windows系统上确定.NET Framework版本,而不是查看目录?

NOTE: 这不适用于开发机器,只适用于开箱即用的窗口

以下工作,但我正在寻找一种更简单的方法 .

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

7 回答

  • -2

    根据您的更新,这表明这是通过它走过一个非技术精明的最终用户,我建议去Scott Hanselman的网站http://www.smallestdotnet.com(使用Internet Explorer),它使用用户代理字符串告诉你你有哪个.NET Framework并为您提供以最有效的方式获得最新版本的建议 .

    Old Answer
    使用PowerShell,你可以做到这一点(虽然PowerShell的存在已经暗示至少.NET 2.0)

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

    我不知道是否有类似的方法来获取普通老式crdy cmd.exe中的版本信息 .

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

    顶部条目是安装的框架的最新版本 .

    注意:这不适用于框架的v1.x.

    Update :我错过了你正在寻找通过电话告诉你爸爸的评论 . 如果是这种情况,上面的命令可能不是最好的方法 . 你可能最好只是告诉你的父亲打开Windows资源管理器并导航他到.NET Framework目录并告诉你那里的数字 .

  • 9

    只需打开VS2008命令提示符并输入 clrver

  • 0

    EDIT :我的答案与OP问题(我最初回答后编辑)无关 .

    根据MSDN,您也可以使用注册表来检查已安装的版本 .

    另外this网站声称有一个名为csc的命令行应用程序你可以使用 - 虽然没有尝试过,我在运行的安装过程中使用了注册表方式 .

  • 0

    以下将检测是否安装了.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框架的安装,即无ui或用户交互 .

  • 0

    CodeProject上发布了一篇文章,可以完全基于它的命令行 .

    希望这可以帮助 .

  • 9

    该目录列表中的最高版本号是已安装的版本 .

    如您所见,任何版本都包含所有以前的版本,因此请检查特定版本的支持=检查该特定目录 .

相关问题