我需要获取计算机上安装的所有框架版本列表,但我需要完整的名称,就像在“添加/删除程序”中一样。
例如:“Microsoft .NET Framework 3.5 SP1”或“Microsoft .NET Framework 2.0 Service Pack 2”。
有没有办法获取该列表(在Windows XP和7中)?
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;
您可以在终端中使用命令dotnet --list-sdks
列出所有已安装的SDK。
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
将列出已安装的运行时。