如何找到。net版本?

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

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

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

530701 次浏览

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

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),最新的第一. net。
你需要运行第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。

对于所安装的框架版本,它取决于您安装的服务包和修复程序。更多细节请查看此MSDN页面。它建议在%systemroot%\Microsoft.NET\Framework中查找该版本。

环境。版本将以编程方式给你CLR的版本。

请注意,这是CLR的版本,不一定与您安装的框架的最新版本相同(。NET 3.0和3.5都使用CLR的v2版本)。

.NET版本检测是一个GUI实用程序,用于显示框架的六个(!)版本中安装了哪个版本。

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

cd %systemroot%\Microsoft.NET\Framework


dir /A:D

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

访问“C:/Windows/Microsoft.NET/Framework"→在这个文件夹中,会有(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 \ Framework \ v4.0.30319祝辞csc.exe

输出:

微软(R) Visual c#编译器版本4.0.30319.17929 对于微软。net Framework 4.5 微软公司版权所有。

在下面的例子:

Enter image description here

clrver是一个很好的例子。只要在. net提示符中执行它,它就会列出所有可用的框架版本。

有一种更简单的方法可以通过cmd提示符在你的机器上安装。net版本。只要按照下面的指示;

  1. 打开命令提示符(即窗户 + R→键入"cmd")

  2. 在一行中输入以下命令:

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

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

  3. 如果你想查看最新的。net 4版本。

  4. 输入以下指令,在单行上:

    reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version
    

请找到下面所附的图片,看看它是如何显示的。

Enter image description here

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

  1. 右键单击桌面,选择快捷方式
  2. 在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的帖子)。
  3. 下一个。给快捷方式一个名称和完成

(注意:我不确定这是否适用于4.5,但我可以确认它适用于4.6,以及4.5之前的版本。)

试试Scott Hanselman的.NET Checker

只需在命令行中输入以下命令:

dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

您的dotnet版本将显示为最高的数字。

对于任何运行Windows 10 1607并寻找net 4.7的人。 忽略以上所有。< / p >

它不在注册表C:\Windows\Microsoft.网文件夹中,也不在已安装程序列表中,也不在同一个列表的WMIC显示中。

查找“已安装的更新”KB3186568。

根据微软在powershell:

Get-ChildItem "hklm:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | % { $_ -ge 394802 }

请参阅此链接的表格,以获取用于搜索特定版本的DWORD值:

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

MSDN详细介绍了在这里如何从注册表中检查它:

通过查看注册表来查找. net框架版本。网 框架1 - 4)< / p >

  1. 在“开始”菜单上,选择“运行”。
  2. 在“打开”框中输入regedit.exe。您必须具有管理凭据才能运行regedit.exe。
  3. 在注册表编辑器中打开以下子键:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

NDP子键下列出了已安装的版本。的版本 number存储在Version条目中。对于。net Framework 4 版本条目位于Client或Full子密钥之下(在NDP之下),或在 两个注册表子项。< / p >

通过查看注册表来查找. net框架版本。网 框架4.5和更高版本)

  1. 在“开始”菜单上,选择“运行”。
  2. 在“打开”框中输入regedit.exe。您必须具有管理凭据才能运行regedit.exe。
  3. 在注册表编辑器中打开以下子键:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

请注意,完整子密钥的路径包括子密钥Net 框架而不是。net Framework

检查名为Release的DWORD值。释放的存在 DWORD表示。net Framework 4.5或更新的版本已经发布

enter image description here

请注意:上面快照中被剪切的最后一行读取为On all other OS versions: 461310。我尽我最大的努力避免在截屏时信息被剪切,但表格太大了。

这个答案只适用于。net Core !

在您选择的终端中键入dotnet --version将打印出正在使用的. net Core SDK的版本。

了解关于dotnet命令在这里的更多信息。

如果你正在开发一些。net应用程序(例如web应用程序),你可以创建一行错误代码(比如调用错误的函数名)并重新加载页面,.Net版本将显示__abc0

我的天,找到安装的。net框架的版本有这么多麻烦?

Windows >搜索> Visual Studio Installer >为已安装的VS版本,点击更多>修改>单个组件,并在那里看到它:

enter image description here

下面是Power Shell脚本,我使用的参考:

https://stackoverflow.com/a/3495491/148657 < a href = " https://stackoverflow.com/a/3495491/148657 " > < / >

$Lookup = @{
378389 = [version]'4.5'
378675 = [version]'4.5.1'
378758 = [version]'4.5.1'
379893 = [version]'4.5.2'
393295 = [version]'4.6'
393297 = [version]'4.6'
394254 = [version]'4.6.1'
394271 = [version]'4.6.1'
394802 = [version]'4.6.2'
394806 = [version]'4.6.2'
460798 = [version]'4.7'
460805 = [version]'4.7'
461308 = [version]'4.7.1'
461310 = [version]'4.7.1'
461808 = [version]'4.7.2'
461814 = [version]'4.7.2'
528040 = [version]'4.8'
528049 = [version]'4.8'
}


# For One True framework (latest .NET 4x), change the Where-Oject match
# to PSChildName -eq "Full":
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse |
Get-ItemProperty -name Version, Release -EA 0 |
Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} |
Select-Object @{name = ".NET Framework"; expression = {$_.PSChildName}},
@{name = "Product"; expression = {$Lookup[$_.Release]}},
Version, Release

上面的脚本使用了注册表,并提供了Windows更新号以及安装在机器上的. net Framework。

参考:https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-find-net-framework-versions-by-querying-the-registry-in-code-net-framework-45-and-later

下面是在两台不同的机器上运行该脚本时的相同结果

  1. 已经安装了。net 4.7.2的地方:

enter image description here

  1. 未安装。net 4.7.2的地方:

enter image description here

打开CMD提示符类型:

dotnet --info

如果你在你的机器上安装了visual studio,

去求助>关于Microsoft Visual Studio

你会看到IDE正在使用的。net版本的信息。

enter image description here

它完全像java。打开终端,执行以下命令

dotnet --version

Following is the截图of command executed .