如何使用winget安装特定.NET Framework版本的SDK?

not*_*bit 1 .net windows powershell winget

我尝试为Framework版本4.7.2和.NET 安装 .NET SDK 4.8。但是,这似乎不可能,因为无法指定版本,甚至无法获取多个版本的搜索结果。(实际上 winget 包Microsoft.dotNetFramework最终让我 v.. 4.8

我本希望能够通过以下方式找到这些:

winget search "SDK"
winget search "DotNet"
Run Code Online (Sandbox Code Playgroud)

但没有运气。

我还期望我可以使用这样的东西:

winget install --id Microsoft.WindowsSDK --version 4.7.2
winget install --id Microsoft.WindowsSDK --version 4.8
Run Code Online (Sandbox Code Playgroud)

但这没有任何结果,因为这些包没有任何Id.

只有在手动安装和软件包之后,它们才会显示。ndp472-devpack-enu.exendp48-devpack-enu.exe

$ winget.exe list --name "Microsoft .NET"

Name                                                Id                                     Version   Source
------------------------------------------------------------------------------------------------------------
Microsoft .NET Framework 4.8 SDK                    {949C0535-171C-480F-9CF4-D25C9E60FE88} 4.8.03928
Microsoft .NET Framework 4.8 Targeting Pack         {BAAF5851-0759-422D-A1E9-90061B597188} 4.8.03761
Microsoft .NET Framework 4.8 Targeting Pack (ENU)   {A4EA9EE5-7CFF-4C5F-B159-B9B4E5D2BDE2} 4.8.03761
Microsoft .NET Framework 4.7.2 SDK                  {F42C96C1-746B-442A-B58C-9F0FD5F3AB8A} 4.7.03081
Microsoft .NET Framework 4.7.2 Targeting Pack       {1784A8CD-F7FE-47E2-A87D-1F31E7242D0D} 4.7.03062
Microsoft .NET Framework 4.7.2 Targeting Pack (ENU) {B517DBD3-B542-4FC8-9957-FFB2C3E65D1D} 4.7.03062
Microsoft .NET SDK 6.0.402 (x64)                    Microsoft.DotNet.SDK.6                 6.0.402   winget
Microsoft Windows Desktop Runtime - 6.0.10 (x64)    Microsoft.DotNet.DesktopRuntime.6      6.0.10    winget
Run Code Online (Sandbox Code Playgroud)

我正在寻求自动化此安装。

那么我该如何winget安装特定.NET Framework版本的SDK呢?

as-*_*ode 5

您可以使用以下命令安装特定版本(4.7.2)的.Net框架

winget install Microsoft.DotNet.Framework.DeveloperPack_4 -v 4.7.2

在此输入图像描述

最新版本的类似命令是,
winget install Microsoft.DotNet.SDK.7 -v 7.0.100

根据微软

Windows 包管理器winget命令行工具默认作为应用程序安装程序与 Windows 11 和现代版本的 Windows 10(版本 1709,内部版本 16299)捆绑在一起。