我如何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版本。 只要按照下面的说明;

  1. 打开命令提示符(即Windows + R→键入“cmd”)。
  2. 在一行中input以下命令:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"

(这将列出所有的.NET版本。)

  1. 如果你想检查最新的.NET 4版本。
  2. 在一行中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一个快捷方式,如下所示:

  1. 右键单击桌面,然后select新build快捷方式
  2. 在位置字段中,粘贴以下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的文章 )。
  3. 点击下一步 。 为该快捷方式命名并完成

(注意:我不确定这是否适用于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特定版本:

https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#ps_a