[英]How do I find the .NET version?
如何找出安装了哪个版本的 .NET?
我正在寻找像java -version
这样简单的东西,我可以在命令提示符下键入它并告诉我当前安装的版本。
我最好补充一点,可能未安装 Visual Studio——这通常是我想了解的有关客户端计算机的信息。
有一种更简单的方法可以从 cmd 提示符获取安装在计算机上的确切版本 .NET 版本。 只需按照以下说明进行操作;
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"
(这将列出所有 .NET 版本。)
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。
在进入命令提示符之前,请按照以下步骤操作...
转到“C:/Windows/Microsoft.NET/Framework”→在此文件夹中,将有文件夹(全部或任何):
您最新的 .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)
- 在开始菜单上,选择运行。
- 在“打开”框中,输入 regedit.exe。您必须具有管理凭据才能运行 regedit.exe。
在注册表编辑器中,打开以下子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
已安装的版本列在 NDP 子项下。 版本号存储在版本条目中。 对于 .NET Framework 4,版本条目位于 Client 或 Full 子项下(在 NDP 下),或在两个子项下。
通过查看注册表查找 .NET Framework 版本(.NET Framework 4.5 及更高版本)
- 在开始菜单上,选择运行。
- 在“打开”框中,输入 regedit.exe。 您必须具有管理凭据才能运行 regedit.exe。
在注册表编辑器中,打开以下子项:
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
如果你经常这样做(我倾向于这样做),你可以在桌面上创建一个快捷方式,如下所示:
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 。
源代码可在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 及更高版本中查询注册表
以下是在两台不同机器上运行该脚本时相同的结果
打开 cmd 提示符类型:
dotnet --info
试试 Scott Hanselman 的.NET Checker
。
clrver
是一个优秀的。 只需在 .NET 提示符下执行它,它就会列出所有可用的框架版本。
对于运行 Windows 10 1607并正在寻找.net 4.7的任何人。 无视以上所有。
它不在Registry 、 C:\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 值以搜索特定版本:
在你的电脑上打开 cmd
只需发送此命令即可;
“dotnet--版本”
有一种更简单的方法可以从 cmd 提示符获取安装在您的计算机上的确切版本 .NET 版本。 只需按照以下说明进行操作;
打开命令提示符(即 Windows + R → 键入“cmd”)并在一行中键入以下命令:%windir%\\Microsoft.NET\\FrameWork,然后导航到具有最新版本号的目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.