我如何find.NET版本?
如何找出哪个版本的.NET被安装?
我正在寻找像“java -version”这样简单的东西,我可以在命令提示符下键入,并告诉我当前安装的版本。
我更好地补充说,Visual Studio可能不会被安装 – 这通常是我想知道的一个客户端机器的东西。
只要input以下任何一个命令,就可以在第一行给出最新版本。
1. CSC 2. GACUTIL /l ? 3. CLRVER
如果您安装了Visual Studio,则只能从Visual Studio命令提示符运行这些命令,否则如果您有.NET框架SDK,则使用SDK命令提示符。
4. wmic product get description | findstr /C:".NET Framework" 5. dir /b /ad /on %systemroot%\Microsoft.NET\Framework\v?.*
最后一个命令(5)将列出.NET安装的所有版本 (4.5除外), 最新 的版本 。
您需要运行第四个命令来查看是否安装了.NET 4.5。
下面给出了PowerShell命令提示符下的另外三个选项。
6. [environment]::Version 7. $PSVersionTable.CLRVersion 8. gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release
最后一个命令(8)会给你所有的版本,包括.NET 4.5。
有一个更简单的方法来从cmd提示符获得您的机器上安装的精确版本的.NET版本。 只要按照下面的说明;
- 打开命令提示符(即Windows + R→键入“cmd”)。
- 在一行中input以下命令:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"
(这将列出所有的.NET版本。)
- 如果你想检查最新的.NET 4版本。
- 在一行中input以下说明:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version
请在下面find附件,看看它是如何显示的。
.NET版本检测器是一个GUI实用程序,显示安装了六个(!)版本的框架。
进入命令提示符之前,请按照以下步骤操作…
打开我的电脑 →双击“ C: ”驱动器→双击“ Windows ”→双击“ Microsoft.NET ”→双击“ 框架 ”→在这个文件夹内,将会有文件夹(如“v1.0.3705”和/或“v2.0.50727”和/或“v3.5”和/或“v4.0.30319”。
你最新的.NET版本将在最高的V号码文件夹,所以如果V4.0.30319可用,将持有你最新的.NET框架。 但是,v4.0.30319并不意味着您有.NET Framework版本4.0。 v4.0.30319是您的Visual C#编译器版本,因此,为了find.NET框架版本,请执行以下操作。
转到命令提示符并按照以下path:
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319(或任何最高的V号码文件夹)
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319> csc.exe
输出:
Microsoft(R)Visual C#编译器版本4.0.30319.17929适用于Microsoft(R).NET Framework 4.5版权所有(C)Microsoft Corporation。 版权所有。
示例如下:
对于安装的框架版本,它取决于您安装的服务包和修补程序。 看看这个MSDN页面的更多细节。 它build议在%systemroot%\Microsoft.NET\Framework
查看版本。
Environment.Version将以编程方式为您提供CLR的版本。
请注意,这是CLR的版本,不一定与您安装的最新版本的框架(.NET 3.0和3.5都使用CLR的v2)相同。
如果打开命令提示符并键入以下两个命令,则将列出当前计算机上安装的所有框架版本(每个都存储在此目录中的单独目录中)。
cd %systemroot%\Microsoft.NET\Framework dir /A:D
为了在命令行获得已安装的版本,我推荐使用net-version 。
- 这只是一个单一的二进制文件 。
- 它使用我的Microsoft提供的指导方针来获取版本信息。
- 它不需要安装SDK。
- 或Visual Studio命令提示符。
- 它不要求您使用registry编辑器并自己searchregistry项。 如果需要,甚至可以通过命令行工具pipe输出。
源代码在github.com上可用
充分披露:我自己创造了这个工具出于挫折。
只需在命令行input以下内容:
dir /b /ad /on %systemroot%\Microsoft.NET\Framework\v?.*
您的dotnet版本将显示为最高的数字。
clrver
是一个很好的。 只需在.NET提示符下执行它,就会列出所有可用的框架版本。
如果您经常这样做(正如我倾向于这样做),则可以在桌面上创build一个快捷方式,如下所示:
- 右键单击桌面,然后select新build → 快捷方式 。
- 在位置字段中,粘贴以下string:
powershell.exe -noexit -command "gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release"
(这是来自Binoj Antony的文章 )。 - 点击下一步 。 为该快捷方式命名并完成 。
(注意:我不确定这是否适用于4.5,但是我可以确认它可以工作在4.6以及4.5以前的版本。)
试试Scott Hanselman的.NET Checker
。
对于运行Windows 10 1607并寻找.net 4.7的人 。 无视以上所有。
它不在registry中 , C:\ Windows \ Microsoft.NET文件夹或安装程序列表或同一列表的WMIC显示中。
查找“已安装的更新”KB3186568。
每个微软在PowerShell中:
Get-ChildItem "hklm:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | % { $_ -ge 394802 }
查看此链接中的表以获取DWORD值以search特定版本: