> 백엔드 개발 > C++ > 내 시스템에 설치된 .NET Framework 버전을 효율적으로 확인하려면 어떻게 해야 합니까?

내 시스템에 설치된 .NET Framework 버전을 효율적으로 확인하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2025-01-15 11:38:48
원래의
203명이 탐색했습니다.

How Do I Efficiently Check the Installed .NET Framework Version on My System?

.NET Framework 버전을 쉽게 확인

개발자는 특히 특정 기능을 대상으로 하거나 특정 버전을 유지 관리할 때 시스템에서 사용되는 .NET Framework의 특정 버전을 확인해야 하는 경우가 많습니다. Environment.Version()은 기본 버전에서만 사용할 수 있지만 .NET 3.5 SP1과 같은 특정 업데이트를 확인하는 효율적인 방법을 찾는 것이 필요합니다.

레지스트리 사용

가능한 해결 방법 중 하나는 Windows 레지스트리에 액세스하는 것입니다. .NET 버전 1-4의 경우 다음의 간단한 코드를 사용하여 관련 정보를 추출할 수 있습니다.

<code class="language-csharp">RegistryKey installed_versions = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP");
string[] version_names = installed_versions.GetSubKeyNames();
//版本名称以 'v' 开头,例如 'v3.5',在转换之前需要将其去除
double Framework = Convert.ToDouble(version_names[version_names.Length - 1].Remove(0, 1), CultureInfo.InvariantCulture);
int SP = Convert.ToInt32(installed_versions.OpenSubKey(version_names[version_names.Length - 1]).GetValue("SP", 0));</code>
로그인 후 복사

.NET 4.5 처리

.NET 4.5 이상의 경우 Microsoft는 철저한 문서 지침을 제공합니다. 이 코드 예제는 설치된 정확한 버전을 검색하는 방법을 보여줍니다.

<code class="language-csharp">using System;
using Microsoft.Win32;


...


private static void Get45or451FromRegistry()
{
    using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\")) {
        int releaseKey = Convert.ToInt32(ndpKey.GetValue("Release"));
        if (true) {
            Console.WriteLine("版本: " + CheckFor45DotVersion(releaseKey));
        }
    }
}


...


// 使用 >= 检查版本将启用前向兼容性,
// 但是您应该始终在新版本的框架上编译代码,以确保您的应用程序具有相同的运行效果。
private static string CheckFor45DotVersion(int releaseKey)
{
    if (releaseKey >= 528040) {
        return "4.8 或更高版本";
    }
    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 >= 393273) {
        return "4.6 RC 或更高版本";
    }
    if ((releaseKey >= 379893)) {
        return "4.5.2 或更高版本";
    }
    if ((releaseKey >= 378675)) {
        return "4.5.1 或更高版本";
    }
    if ((releaseKey >= 378389)) {
        return "4.5 或更高版本";
    }
    // 此行永远不会执行。非空 release 密钥应表示
    // 已安装 4.5 或更高版本。
    return "未检测到 4.5 或更高版本";
}</code>
로그인 후 복사

이제 개발자는 이러한 방법을 사용하여 시스템에 설치된 .NET Framework의 정확한 버전을 쉽게 확인할 수 있으므로 특정 기능을 자신있게 사용하고 호환성 문제를 해결할 수 있습니다.

위 내용은 내 시스템에 설치된 .NET Framework 버전을 효율적으로 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿