我如何知道安装了哪个版本的。net ?

我正在寻找一些像java -version一样简单的东西,我可以在命令提示符中键入,并告诉我当前安装的版本。

我最好补充一点,Visual Studio可能不会被安装——这通常是我想知道的关于客户端机器的事情。


当前回答

如果你经常这样做(就像我一样),你可以在桌面上创建一个如下所示的快捷方式:

右键单击桌面,选择新建→快捷方式。 在location字段中,粘贴这个字符串: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之前的版本。)

其他回答

为了在命令行中获得已安装的版本,我建议使用net-version。

它只是一个单人间 二进制文件。 它使用了我提供的指导方针 微软 获取版本信息。 它不需要安装SDK。 或者Visual Studio命令提示符。 它不需要您使用regedit并查找注册表项 你自己。如果,您甚至可以在命令行工具中使用管道输出 你需要。

源代码可在github.com上获得

完全披露:我自己创建这个工具是出于挫折。

如果打开命令提示符并键入以下两个命令,将列出当前机器上安装的所有框架版本(每个版本都存储在该目录中的单独目录中)。

cd %systemroot%\Microsoft.NET\Framework

dir /A:D

打开CMD提示符类型:

dotnet --info

只需键入下面任何一个命令,在第一行中显示最新版本。

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 /o-n %systemroot%\Microsoft.NET\Framework\v?.*

最后一个命令(5)将列出所有已安装的。net版本(除了4.5),最新版本优先。您需要运行第4个命令来查看是否安装了. 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。

在进入命令提示符之前,请遵循以下步骤…

进入“C:/Windows/Microsoft. exe”目录。→在这个文件夹中,会有(all或any)这样的文件夹:

v1.0.3705 v2.0.50727 v3.5 v4.0.30319

你最新的。net版本应该在v号最高的文件夹中,所以如果“v4.0.30319”可用,就可以存放你最新的。net框架。但是,“v4.0.30319”并不意味着。net框架版本为4.0。“v4.0.30319”是您的Visual c#编译器版本,因此,为了找到. net框架版本,请执行以下操作。

进入命令提示符并按照以下路径执行:

C:\Windows\Microsoft.NET\Framework\v4.0.30319(或任何v值最高的文件夹)

C:\Windows\Microsoft.NET\框架\v4.0 30319 > csc.exe

输出:

微软(R) Visual c#编译器版本4.0.30319.17929 用于Microsoft (R) .NET Framework 4.5 微软公司版权所有。版权所有。

在下面的例子: