설치된 .NET Framework 버전 확인 | Microsoft Docs
설치된 .NET Framework 버전 확인
코드, regedit.exe 또는 PowerShell을 사용하여 Windows 레지스트리를 쿼리하는 방법으로 컴퓨터에 설치된 .NET Framework 버전을 검색합니다.
docs.microsoft.com

Environment.Version -> 5.0.5
RuntimeInformation.FrameworkDescription -> .NET 5.0.5
using Microsoft.Win32;
using System;
namespace CsharpTest
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.WriteLine($"{Environment.Version}");
const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
if (OperatingSystem.IsWindows())
{
using (var ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
{
if (ndpKey != null && ndpKey.GetValue("Release") != null)
{
Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion((int)ndpKey.GetValue("Release"))}");
}
else
{
Console.WriteLine(".NET Framework Version 4.5 or later is not detected.");
}
}
}
// Checking the version using >= enables forward compatibility.
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";
}
Console.WriteLine($"RuntimeInformation.FrameworkDescription: {System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription}");
Console.ReadLine();
}
}
}
'C#' 카테고리의 다른 글
[C#] Slack Message 보내기 (0) | 2021.06.01 |
---|---|
[C#] Mail 보내기 (0) | 2021.05.04 |
[C#] WPF - OpenCV, Cam 출력 (0) | 2021.04.16 |
[C#] 윈도우 마이크 컨트롤 2 (AudioSwitcher, NAudio) (0) | 2021.04.13 |
[C#] Async/Await, Task.result (0) | 2021.04.12 |