https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed?redirectedfrom=MSDN
检测 .NET Framework 4.5 及更高版本
计算机上安装的 .NET Framework 版本(4.5 及更高版本)列出在注册表中,位于 HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4Full。 如果缺少 Full 子项,则未安装 .NET Framework 4.5 或更高版本。
备注
注册表路径中的 .NET Framework Setup 子项不以句点开头。
注册表中的 Release REG_DWORD 值代表已安装的 .NET Framework 版本。
.NET Framework 版本 | Release 的值 |
---|---|
.NET Framework 4.5 | 所有 Windows 操作系统:378389 |
.NET Framework 4.5.1 | 在 Windows 8.1 和 Windows Server 2012 R2 上:378675 在所有其他 Windows 操作系统上:378758 |
.NET Framework 4.5.2 | 所有 Windows 操作系统:379893 |
.NET Framework 4.6 | 在 Windows 10 上:393295 在所有其他 Windows 操作系统上:393297 |
.NET Framework 4.6.1 | 在 Windows 10 11 月更新系统上:394254 在所有其他 Windows 操作系统(包括 Windows 10)上:394271 |
.NET Framework 4.6.2 | 在 Windows 10 周年更新和 Windows Server 2016 上:394802 在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:394806 |
.NET Framework 4.7 | 在 Windows 10 创意者更新上:460798 在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:460805 |
.NET Framework 4.7.1 | 在 Windows 10 Fall Creators Update 和 Windows Server 版本 1709 上:461308 在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:461310 |
.NET Framework 4.7.2 | 在 Windows 10 2018 年 4 月更新和 Windows Server 版本 1803 上:461808 在除 Windows 10 2018 年 4 月更新和 Windows Server 版本 1803 之外的所有 Windows 操作系统上:461814 |
.NET Framework 4.8 | 在 Windows 10 2019 年 5 月更新和 Windows 10 2019 年 11 月更新上:528040 在 Windows 10 2020 年 5 月更新和 Windows 10 2020 年 10 月更新中:528372 在所有其他 Windows 操作系统(包括其他 Windows 10 操作系统)上:528049 |
最低版本
若要确定是否存在 .NET Framework 的最低版本,请查看大于或等于下列表中列出的相应值的“Release”REG_DWORD 值。 例如,如果应用程序在 .NET Framework 4.8 或更高版本下运行,请测试 Release REG_DWORD 值是否大于或等于 528040。
.NET Framework 版本 | 最小值 |
---|---|
.NET Framework 4.5 | 378389 |
.NET Framework 4.5.1 | 378675 |
.NET Framework 4.5.2 | 379893 |
.NET Framework 4.6 | 393295 |
.NET Framework 4.6.1 | 394254 |
.NET Framework 4.6.2 | 394802 |
.NET Framework 4.7 | 460798 |
.NET Framework 4.7.1 | 461308 |
.NET Framework 4.7.2 | 461808 |
.NET Framework 4.8 | 528040 |
使用注册表编辑器
-
在“开始”菜单中,选择“运行”,输入“regedit”,然后选择“确定” 。
(必须具有管理凭据才能运行 regedit。)
-
在注册表编辑器中,打开以下子项:HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4Full。 如果“Full”子项不存在,则表示尚未安装 .NET Framework 4.5 或更高版本。
-
请检查名为“Release”的 REG_DWORD 条目。 如果存在,则已安装 .NET Framework 4.5 或更高版本。 其值对应于 .NET Framework 的特定版本。 以下图为例,“Release”条目的值为 528040,这是 .NET Framework 4.8 的版本密钥。
<a name="use-powershell-to-check-for-a-minimum-version">使用 PowerShell 检查最低版本
使用 PowerShell 命令检查 HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4Full 子项“Release”条目的值。
以下示例检查“Release”条目的值,以确定是否已安装 .NET Framework 4.6.2 或更高版本。 如果安装了此代码,则返回 True
,否则返回 False
。
(Get-ItemProperty "HKLM:SOFTWAREMicrosoftNET Framework SetupNDPv4Full").Release -ge 394802
使用代码查询注册表
-
使用 RegistryKey.OpenBaseKey 和 RegistryKey.OpenSubKey 方法访问 Windows 注册表中的 HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4Full 子项。
重要
如果运行的应用是 32 位且在 64 位 Windows 中运行,则注册表路径与前面列出的不同。 可在 HKEY_LOCAL_MACHINESOFTWAREWow6432Node 子项中找到 64 位注册表。 例如,.NET Framework 4.5 的注册表子项为 HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftNET Framework SetupNDPv4Full。
-
检查 Release REG_DWORD 值以确定已安装的版本。 为了向前兼容,可检查是否有一个值大于或等于 .NET Framework 版本表中所列的值。
下面的示例检查注册表中 Release 项的值,以查找安装的 .NETFramework 4.5-4.8 版本。