获取已安装的.NET框架版本的完整列表

4
我需要获取计算机上安装的所有框架版本列表,但我需要完整的名称,就像在“添加/删除程序”中一样。 例如:“Microsoft .NET Framework 3.5 SP1”或“Microsoft .NET Framework 2.0 Service Pack 2”。 有没有办法获取该列表(在Windows XP和7中)?

2
如何:确定已安装哪些 .NET Framework 版本 - Soner Gönül
只需将.NET可再发行程序标记为先决条件,并从设置中运行它,不要自己搞.NET安装...无论如何,你尝试了什么?看看这个重复的问题 - CodeCaster
3个回答

2
谢谢,我使用了这些链接来得到我的答案,这就是我所做的:
        string path = @"SOFTWARE\Microsoft\NET Framework Setup\NDP";
        List<string> display_framwork_name = new List<string>();

        RegistryKey installed_versions = Registry.LocalMachine.OpenSubKey(path);
        string[] version_names = installed_versions.GetSubKeyNames();

        for (int i = 1; i <= version_names.Length - 1; i++)
        {
            string temp_name = "Microsoft .NET Framework " + version_names[i].ToString() + "  SP" + installed_versions.OpenSubKey(version_names[i]).GetValue("SP");
            display_framwork_name.Add(temp_name);
        }

        return display_framwork_name;

我的输出是: "Microsoft .NET Framework v3.5 SP1" "Microsoft .NET Framework v3.0 SP2" 等等...

2

谢谢,我使用那些链接得到了我的答案: - user2254436

2

您可以在终端中使用命令dotnet --list-sdks列出所有已安装的SDK。

https://learn.microsoft.com/en-us/dotnet/core/install/how-to-detect-installed-versions?pivots=os-windows

2.1.701 [C:\Program Files\dotnet\sdk]
3.0.100-preview5-011568 [C:\Program Files\dotnet\sdk]
5.0.401 [C:\Program Files\dotnet\sdk]
6.0.401 [C:\Program Files\dotnet\sdk]
7.0.100-preview.6.22352.1 [C:\Program Files\dotnet\sdk]
7.0.100-rc.1.22431.12 [C:\Program Files\dotnet\sdk]

命令dotnet --list-runtimes将列出已安装的运行时。


2
这只适用于dotNet。它没有列出框架版本。 - Bill Tarbell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接