繁体   English   中英

如何找到 .NET 版本?

[英]How do I find the .NET version?

如何找出安装了哪个版本的 .NET?

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

我最好补充一点,可能未安装 Visual Studio——这通常是我想了解的有关客户端计算机的信息。

有一种更简单的方法可以从 cmd 提示符获取安装在计算机上的确切版本 .NET 版本。 只需按照以下说明进行操作;

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

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

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

  1. 如果您想查看最新的 .NET 4 版本。
  2. 在一行中键入以下指令:

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

请在下面找到所附图片以查看其显示方式。

在此处输入图像描述

只需键入以下任何一个命令,即可在第一行为您提供最新版本。

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。

此答案仅适用于 .NET Core!

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

在此处了解有关dotnet命令的更多信息。

在进入命令提示符之前,请按照以下步骤操作...

转到“C:/Windows/Microsoft.NET/Framework”→在此文件夹中,将有文件夹(全部或任何):

  • 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

输出:

适用于Microsoft (R) .NET Framework 4.5的 Microsoft (R) Visual C# 编译器版本 4.0.30319.17929 版权所有 (C) Microsoft Corporation。 版权所有。

下面的例子:

在此处输入图像描述

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

对于安装的框架版本,它会根据您安装的服务包和修补程序而有所不同。 查看此 MSDN 页面了解更多详细信息。 它建议查看%systemroot%\Microsoft.NET\Framework以获取版本。

Environment.Version将以编程方式为您提供 CLR 的版本。

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

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

通过查看注册表查找 .NET Framework 版本 (.NET Framework 1-4)

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

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

已安装的版本列在 NDP 子项下。 版本号存储在版本条目中。 对于 .NET Framework 4,版本条目位于 Client 或 Full 子项下(在 NDP 下),或在两个子项下。

通过查看注册表查找 .NET Framework 版本(.NET Framework 4.5 及更高版本)

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

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

请注意,完整子项的路径包括子项 Net Framework 而不是 .NET Framework

检查名为Release的 DWORD 值。 Release DWORD 的存在表明该计算机上已安装 .NET Framework 4.5 或更高版本。

在此处输入图像描述

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

只需在命令行中键入以下内容:

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

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

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

cd %systemroot%\Microsoft.NET\Framework

dir /A:D

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

  1. 右键单击桌面并选择NewShortcut
  2. 在位置字段中,粘贴以下字符串: 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 之前的版本。)

天哪,找到已安装的 .net 框架的版本这么乱?

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

在此处输入图像描述

要在命令行中获取已安装的版本,我建议使用net-version

  • 它只是一个二进制文件
  • 它使用我的 Microsoft 提供的指南来获取版本信息。
  • 它不需要安装 SDK。
  • 或 Visual Studio 命令提示符。
  • 它不需要您自己使用 regedit 和查找注册表项。 如果需要,您甚至可以在命令行工具中通过管道输出。

源代码可在github.com上获得

完全披露:出于沮丧,我自己创建了这个工具。

这是我通过参考使用的 Power Shell 脚本:

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 ://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-find-net-framework-versions-by- 在代码网络框架 45 及更高版本中查询注册表

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

  1. 已安装 .NET 4.7.2 的位置:

在此处输入图像描述

  1. 未安装 .NET 4.7.2 的地方:

在此处输入图像描述

打开 cmd 提示符类型:

dotnet --info

试试 Scott Hanselman 的.NET Checker

它与 java 完全一样。打开终端并执行以下命令

dotnet --version

下面是执行命令的截图

clrver是一个优秀的。 只需在 .NET 提示符下执行它,它就会列出所有可用的框架版本。

如果您正在开发一些 .Net 应用程序(例如 Web 应用程序),您可以制作 1 行错误代码(例如调用错误的函数名称)并重新加载您的页面,将显示 .Net 版本在此处输入图像描述

对于运行 Windows 10 1607并正在寻找.net 4.7的任何人。 无视以上所有。

它不在RegistryC:\Windows\Microsoft.NET文件夹或Installed Programs列表或同一列表的 WMIC 显示中。

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

每个 Microsoft 在 powershell 中:

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

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

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

如果你的机器上安装了 Visual Studio,

只需转到帮助 > 关于 Microsoft Visual Studio

您将看到有关 IDE 正在使用的 .NET 版本的信息。

在此处输入图像描述

在你的电脑上打开 cmd

只需发送此命令即可;

“dotnet--版本”

在 CMD 上运行以下命令:

  • do.net --list-sdks

在此处输入图像描述

它将显示 .net 的所有已安装版本,如上图所示。 您还可以在下面运行以下命令来查看正在使用的 .net 版本:

  • do.net --version

有一种更简单的方法可以从 cmd 提示符获取安装在您的计算机上的确切版本 .NET 版本。 只需按照以下说明进行操作;

打开命令提示符(即 Windows + R → 键入“cmd”)并在一行中键入以下命令:%windir%\\Microsoft.NET\\FrameWork,然后导航到具有最新版本号的目录。

请参阅http://dotnettec.com/check-dot-net-framework-version/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM