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

.NET Core 2.1项目dotnet restore失败,无法加载NuGet服务索引

解决.NET Core 2.1应用dotnet restore无法连接NuGet源的问题

你遇到的这个问题很常见,虽然已经做了缓存清理和配置检查,但从报错信息(SSL连接失败、超时)来看,大概率是网络或SDK兼容性的问题,给你几个实用的排查和解决步骤:

1. 先确认网络是否能正常访问NuGet源

先排除最基础的网络问题:

  • 打开浏览器直接访问https://api.nuget.org/v3/index.json,如果浏览器也加载失败/超时,那肯定是你的网络(公司防火墙、代理、本地网络波动)限制了访问,得先搞定网络链路
  • 用命令行ping一下api.nuget.org,看看是否能连通,要是丢包严重或者完全没响应,说明网络有问题

2. 检查并重置NuGet代理设置

很多时候系统代理悄悄变更会导致NuGet连不上:

  • 先运行dotnet nuget list source确认当前源配置没问题
  • 如果用了代理,重新配置NuGet的代理:
    dotnet nuget config -set http_proxy=http://你的代理地址:端口
    dotnet nuget config -set https_proxy=https://你的代理地址:端口
    
    要是不需要代理,直接清空代理设置:
    dotnet nuget config -set http_proxy=
    dotnet nuget config -set https_proxy=
    

3. 临时用HTTP源测试(仅用于排查,别在生产环境用)

如果SSL连接确实有问题,可以临时切换到HTTP源验证:

  • 修改NuGet.config里的源地址为http://api.nuget.org/v3/index.json,然后重新跑dotnet restore
  • 测试完记得改回HTTPS,避免安全风险

4. 解决SDK版本冲突问题

注意到你报错里用的是预览版的3.0.100 SDK,而你的应用是.NET Core 2.1的,预览版SDK可能存在兼容性bug:

  • 先运行dotnet --list-sdks查看本地已安装的2.1稳定版SDK版本号
  • 指定用2.1版本的SDK来执行restore:
    dotnet restore --sdk-version 2.1.xxx  # 替换成你查到的具体版本号
    
  • 要是还是不行,干脆卸载这个预览版3.0 SDK,用稳定版SDK操作更靠谱

5. 彻底重置NuGet配置与缓存

有时候配置文件会有隐藏的异常,试试彻底重置:

  • 备份你的C:\Users\[用户]\AppData\Roaming\NuGet.config,然后删除它
  • 重新添加NuGet源:
    dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
    
  • 要是安装了NuGet CLI,还可以运行nuget locals all -clear清空所有本地缓存(包括HTTP缓存、已下载的包等)

你说之前一直正常今天突然出问题,大概率是网络临时波动或者公司网络策略调整了,先从网络排查入手应该能最快解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:46:38