You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询已安装的.NET版本(非.NET Framework)

检查已安装的.NET 6及以上版本的方法

一、命令行快速查看

直接在命令提示符或终端执行以下命令:

  • 查看已安装的.NET运行时版本:dotnet --list-runtimes
  • 查看已安装的.NET SDK版本:dotnet --list-sdks

输出结果会列出所有版本的详细信息(含版本号、安装路径、架构),可直接筛选出.NET 6及以上的条目。

二、通过注册表查询

.NET 5及以上版本的安装信息存储在专属注册表路径中,可通过代码读取:

注册表路径

  • x64架构:HKEY_LOCAL_MACHINE\SOFTWARE\dotnet\Setup\InstalledVersions\x64\sharedfx\Microsoft.NETCore.App
  • x86架构:HKEY_LOCAL_MACHINE\SOFTWARE\dotnet\Setup\InstalledVersions\x86\sharedfx\Microsoft.NETCore.App

C#代码示例

using Microsoft.Win32;
using System;

class Program
{
    static void Main()
    {
        CheckDotNetVersions(@"SOFTWARE\dotnet\Setup\InstalledVersions\x64\sharedfx\Microsoft.NETCore.App", "x64");
        CheckDotNetVersions(@"SOFTWARE\dotnet\Setup\InstalledVersions\x86\sharedfx\Microsoft.NETCore.App", "x86");
    }

    static void CheckDotNetVersions(string registryPath, string architecture)
    {
        using RegistryKey? dotnetKey = Registry.LocalMachine.OpenSubKey(registryPath);
        if (dotnetKey == null)
        {
            Console.WriteLine($"未找到{architecture}架构的.NET运行时");
            return;
        }

        foreach (string versionStr in dotnetKey.GetSubKeyNames())
        {
            if (Version.TryParse(versionStr, out Version? version) && version.Major >= 6)
            {
                Console.WriteLine($"{architecture}架构已安装.NET版本: {versionStr}");
            }
        }
    }
}

三、通过代码调用命令行解析输出

如果需要在程序中获取更完整的版本信息,可调用dotnet命令并解析输出:

C#代码示例

using System;
using System.Diagnostics;
using System.Linq;

class Program
{
    static void Main()
    {
        var processStartInfo = new ProcessStartInfo
        {
            FileName = "dotnet",
            Arguments = "--list-runtimes",
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true
        };

        using var process = Process.Start(processStartInfo);
        if (process == null)
        {
            Console.WriteLine("无法启动dotnet命令");
            return;
        }

        string output = process.StandardOutput.ReadToEnd();
        process.WaitForExit();

        var dotNet6PlusVersions = output.Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries)
            .Where(line => line.StartsWith("Microsoft.NETCore.App"))
            .Select(line =>
            {
                string versionPart = line.Split(' ')[1].Split('+')[0];
                return (Line: line, Version: Version.Parse(versionPart));
            })
            .Where(item => item.Version.Major >= 6);

        foreach (var item in dotNet6PlusVersions)
        {
            Console.WriteLine(item.Line);
        }
    }
}

内容的提问来源于stack exchange,提问作者MiritH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:17:49