csharp 列出PC中所有已安装的.NET Framework版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 列出PC中所有已安装的.NET Framework版本相关的知识,希望对你有一定的参考价值。

using Microsoft.Win32;
using System;

namespace List_NET_Version_Installed
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(".NET Framework Versions");
            Console.WriteLine("=======================");

            var hkNDP = Registry.LocalMachine.OpenSubKey(
              @"SOFTWARE\Microsoft\NET Framework Setup\NDP", false);
            WriteKey(hkNDP, "");
            hkNDP.Close();

            Console.ReadLine();
        }

        static void WriteKey(RegistryKey hk, string relPath)
        {
            if (relPath != "")
                relPath += "/";

            foreach (var keyname in hk.GetSubKeyNames())
            {
                var key = hk.OpenSubKey(keyname, false);

                var keySP = key.GetValue("SP");
                var keyVersion = key.GetValue("Version");

                if (keyVersion != null)
                    Console.WriteLine(relPath + keyname +
                      ": Version " + keyVersion.ToString() +
                      ((keySP != null) ? " SP " + keySP.ToString() : "") +
                      (1.Equals(key.GetValue("Install")) ? " installed" : ""));

                WriteKey(key, relPath + keyname);

                key.Close();
            }
        }
    }
}

以上是关于csharp 列出PC中所有已安装的.NET Framework版本的主要内容,如果未能解决你的问题,请参考以下文章

powershell PowerShell:列出已安装的.NET版本

如何在 Python 中列出所有已安装的包及其版本?

csharp 列出所有子文件夹中的所有文件。

php wordpress:列出数组中所有已安装的插件

如何列出所有已安装的 NuGet 包?

Python3:以编程方式列出虚拟环境中所有已安装的包和版本[重复]