获取系统已安装的.NET版本,来确定当前应用可运行的环境。

C# 获取系统已安装的.NET版本_microsoft

 

微软已经有相应的完整文档,请参考:​​确定已安装的 .NET Framework 版本 - .NET Framework | Microsoft Docs​

Release根据文档描述是版本密钥,应该是类似版本构建号,能够判断是否已安装.NET。

Version是.NetFramework的版本

我整理了下获取Version的方法,方便大家获取:

1     private Version GetFrameworkVersion()
2 {
3 string registerKey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
4 var defaultVersion = new Version(0, 0);
5 try
6 {
7 using (var sub = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(registerKey))
8 {
9 if (!(sub?.GetValue("Release") is int key))
10 return defaultVersion;
11
12 //判断
13 if (key >= 528040)
14 return new Version(4, 8);
15 if (key >= 461808)
16 return new Version(4, 7, 2);
17 if (key >= 461308)
18 return new Version(4, 7, 1);
19 if (key >= 460798)
20 return new Version(4, 7);
21 if (key >= 394802)
22 return new Version(4, 6, 2);
23 if (key >= 394254)
24 return new Version(4, 6, 1);
25 if (key >= 393295)
26 return new Version(4, 6);
27 if (key >= 379893)
28 return new Version(4, 5, 2);
29 if (key >= 378675)
30 return new Version(4, 5, 1);
31 if (key >= 378389)
32 return new Version(4, 5);
33 }
34 }
35 catch (Exception)
36 {
37 // ignored
38 }
39 //小于4.5,一般不存在这个环境
40 return new Version(0, 0);
41

 

注:如果需要快速获取电脑的.NET版本,可以通过PowerShell查看

(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client' -Name Version).Version

C# 获取系统已安装的.NET版本_C#_02

 

作者:唐宋元明清2188