79 lines
2.8 KiB
C#
79 lines
2.8 KiB
C#
/******************************************************************************
|
||
* SunnyUI 开源控件库、工具类库、扩展类库、多页面开发框架。
|
||
* CopyRight (C) 2012-2024 ShenYongHua(沈永华).
|
||
* QQ群:56829229 QQ:17612584 EMail:SunnyUI@QQ.Com
|
||
*
|
||
* Blog: https://www.cnblogs.com/yhuse
|
||
* Gitee: https://gitee.com/yhuse/SunnyUI
|
||
* GitHub: https://github.com/yhuse/SunnyUI
|
||
*
|
||
* SunnyUI.dll can be used for free under the GPL-3.0 license.
|
||
* If you use this code, please keep this note.
|
||
* 如果您使用此代码,请保留此说明。
|
||
******************************************************************************
|
||
* 文件名称: UEnvironment.cs
|
||
* 文件说明: 判断.Net运行环境类
|
||
* 当前版本: V3.1
|
||
* 创建日期: 2021-06-02
|
||
*
|
||
* 2021-06-02: V3.0.4 增加文件说明
|
||
******************************************************************************/
|
||
|
||
using Microsoft.Win32;
|
||
|
||
namespace Sunny.UI
|
||
{
|
||
/// <summary>
|
||
/// .Net版本
|
||
/// </summary>
|
||
public static class UEnvironment
|
||
{
|
||
private 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 >= 379893)
|
||
return "4.5.2";
|
||
if (releaseKey >= 378675)
|
||
return "4.5.1";
|
||
if (releaseKey >= 378389)
|
||
return "4.5";
|
||
// This code should never execute. A non-null release key should mean
|
||
// that 4.5 or later is installed.
|
||
return "No 4.5 or later version detected";
|
||
}
|
||
|
||
/// <summary>
|
||
/// 检查.Net版本
|
||
/// </summary>
|
||
/// <returns>.Net版本</returns>
|
||
public static string CheckVersion()
|
||
{
|
||
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)
|
||
{
|
||
return $".NET Framework Version: {CheckFor45PlusVersion((int)ndpKey.GetValue("Release"))}";
|
||
}
|
||
else
|
||
{
|
||
return ".NET Framework Version 4.5 or later is not detected.";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|