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

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

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

我尝试安装版本为4.7.2和4.8的.NET Framework SDK,但遇到了以下问题:

  • 无法通过winget搜索到对应版本的SDK包,执行winget search "SDK"和winget search "DotNet"都没有找到目标版本的结果;
  • 尝试用指定ID和版本的命令安装(如winget install --id Microsoft.WindowsSDK --version 4.7.2)也失败了,因为不存在对应的包ID;
  • 只有手动运行官方离线安装包(ndp472-devpack-enu.exe、ndp48-devpack-enu.exe)后,这些SDK才会出现在winget list的结果中:
$ 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

希望实现安装过程的自动化,请问该如何操作?


解决方案

目前winget官方源中没有单独提供不同版本的.NET Framework SDK包,仅有的Microsoft.dotNetFramework包默认安装最新的.NET Framework(含SDK 4.8),无法指定旧版本。要自动化安装特定版本的SDK,可通过以下方式:

方式1:使用winget配合本地离线安装包

  1. 提前获取对应版本的官方离线安装包,可通过PowerShell下载:
    # 下载.NET Framework 4.7.2 SDK
    Invoke-WebRequest -Uri "https://download.microsoft.com/download/6/F/5/6F5FF66C-6775-42B0-86C4-47D41F2DA187/ndp472-devpack-enu.exe" -OutFile "ndp472-devpack-enu.exe"
    # 下载.NET Framework 4.8 SDK
    Invoke-WebRequest -Uri "https://download.microsoft.com/download/7/1/A/71A551B6-6B52-47E3-9344-2F84960B80A8/ndp48-devpack-enu.exe" -OutFile "ndp48-devpack-enu.exe"
    
  2. 使用winget调用本地安装包并执行静默安装:
    • 安装4.7.2 SDK:
      winget install --source local --path "ndp472-devpack-enu.exe" --installer-arguments "/quiet /norestart"
      
    • 安装4.8 SDK:
      winget install --source local --path "ndp48-devpack-enu.exe" --installer-arguments "/quiet /norestart"
      

方式2:直接执行离线安装包的静默命令

如果不需要通过winget管理安装记录,可直接调用安装包执行静默安装:

# 安装.NET Framework 4.7.2 SDK
.\ndp472-devpack-enu.exe /quiet /norestart
# 安装.NET Framework 4.8 SDK
.\ndp48-devpack-enu.exe /quiet /norestart

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:05:33