安装完.NET Framework 4.7.1后,需要重新启动Windows服务器才能使更改生效。在安装.NET Framework时,它会进行系统级别的更改,因此需要重新启动服务器。
以下是一个示例代码,演示如何在C#中检查.NET Framework版本:
using System;
class Program
{
static void Main()
{
// 检查.NET Framework版本
var version = Environment.Version;
Console.WriteLine(".NET Framework Version: " + version);
// 检查.NET Framework 4.7.1是否已安装
bool isFrameworkInstalled = CheckFrameworkVersion(new Version(4, 7, 1));
Console.WriteLine(".NET Framework 4.7.1 Installed: " + isFrameworkInstalled);
Console.ReadLine();
}
static bool CheckFrameworkVersion(Version targetVersion)
{
Version version = GetInstalledFrameworkVersion();
if (version != null && version >= targetVersion)
{
return true;
}
return false;
}
static Version GetInstalledFrameworkVersion()
{
// 获取已安装的.NET Framework版本
var registryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\");
var version = registryKey.GetValue("Release") as int?;
if (version != null)
{
return ConvertToVersion(version.Value);
}
return null;
}
static Version ConvertToVersion(int releaseKey)
{
if (releaseKey >= 528040)
{
return new Version(4, 8);
}
if (releaseKey >= 461808)
{
return new Version(4, 7, 2);
}
if (releaseKey >= 461308)
{
return new Version(4, 7, 1);
}
if (releaseKey >= 460798)
{
return new Version(4, 7);
}
if (releaseKey >= 394802)
{
return new Version(4, 6, 2);
}
if (releaseKey >= 394254)
{
return new Version(4, 6, 1);
}
if (releaseKey >= 393295)
{
return new Version(4, 6);
}
if (releaseKey >= 379893)
{
return new Version(4, 5, 2);
}
if (releaseKey >= 378675)
{
return new Version(4, 5, 1);
}
if (releaseKey >= 378389)
{
return new Version(4, 5);
}
// 未安装.NET Framework 4.5或更高版本
return null;
}
}
此代码将检查安装的.NET Framework版本,并输出结果。你可以在 CheckFrameworkVersion
方法中传入目标版本来检查特定的.NET Framework版本是否已安装。