打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C# detect latest .net framework installed on PC

 static void GetNetVersionDemo()        {            using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))            {                foreach(var versionKeyName in ndpKey.GetSubKeyNames())                {                    //Skip .NET Framework 4.5 version information.                    if(versionKeyName=="v4")                    {                        continue;                    }                    if(versionKeyName.StartsWith("v"))                    {                        RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);                        //Get the .NET Framework version value.                        var name = (string)versionKey.GetValue("Version", "");                        //Get the service pack number.var sp = versionKey.GetValue("SP", "").ToString();                        //Get the installation flag,or an empty string if therec# is none.                        var install = versionKey.GetValue("Install", "").ToString();                        if(string.IsNullOrEmpty(install))                        {                            Console.WriteLine($"{versionKeyName} {name}");                        }                        else                        {                            if(!string.IsNullOrEmpty(sp) && install=="1")                            {                                Console.WriteLine($"{versionKeyName} {name} SP{sp}");                            }                        }                        if(!string.IsNullOrEmpty(name))                        {                            continue;                        }                        foreach(var subKeyName in versionKey.GetSubKeyNames())                        {                            RegistryKey subKey = versionKey.OpenSubKey(subKeyName);                            name = (string)subKey.GetValue("Version", "");                            if(!string.IsNullOrEmpty(name))                            {                                sp = subKey.GetValue("SP", "").ToString();                            }                            install = subKey.GetValue("Install", "").ToString();                            if(string.IsNullOrEmpty(install))                            {                                Console.WriteLine($"{versionKeyName} {name}");                            }                            else                            {                                if((!string.IsNullOrEmpty(sp)) && install=="1")                                {                                    Console.WriteLine($"{subKeyName} {name}  SP{sp}");                                }                                else                                    if(install=="1")                                {                                    Console.WriteLine($"{subKeyName} {name}");                                }                            }                        }                    }                }            }        }

using Microsoft.Win32;static void Main(string[] args)        {            GetDotNetFrameworkVersion();            Console.ReadLine();        }        static void GetDotNetFrameworkVersion()        {            const string subKey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full";            using (var ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subKey))            {                if(ndpKey!=null && ndpKey.GetValue("Release")!=null)                {                    var objResult = ndpKey.GetValue("Release");                    var versionResult = CheckFor45PlusVersion((int)objResult);                    Console.WriteLine($".NET Framework Version:{versionResult}");                }                else                {                    Console.WriteLine(".NET Framework Version 4.5 or later is not detected!");                }            }        }        //Convert the Main.Minor.Build.Revision        static string CheckFor45PlusVersion(int releaseKey)        {                         if(releaseKey>=528040)            {               return "4.8 or later";            }            if(releaseKey>=461808)            {                return "4.7.2";            }            if(releaseKey>=461308)            {                return "4.7.1";            }            if (releaseKey >= 460798)            {                return "4.7";            }            if(releaseKey>=394802)            {                return "4.6.2";            }            if(releaseKey>=394254)            {                return "4.6.1";            }            if(releaseKey>=393295)            {                return "4.6";            }            if(releaseKey>=393295)            {                return "4.5.2";            }            if(releaseKey>=378675)            {                return "4.5.1";            }            if(releaseKey>=378389)            {                return "4.5";            }            return "No 4.5 or later version detected!";        }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
How to: Determine Which .NET Framework Versions Are Installed
WF4.0 基础篇 (七) 数据的传递 变量与参数的使用
C#:ref和out的联系及区别。
NUnit学习笔记 VS.net 2005篇 - 设计前沿
Nunit单元测试工具
Attribute在.net编程中的应用(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服