NuGet离线包安装失败,提示无法加载在线源服务索引如何解决?
解决离线安装NuGet包时的在线源加载错误
方法1:在Visual Studio中临时禁用在线源
- 打开Visual Studio,点击顶部菜单栏的工具 > NuGet包管理器 > 包管理器设置
- 在左侧导航栏选择包源,取消勾选所有在线源(比如默认的
nuget.org),只保留你添加的本地离线包源 - 返回NuGet包管理器界面或包管理器控制台,重新尝试安装目标包
方法2:用NuGet命令行强制指定本地源安装
- 打开CMD或PowerShell,切换到你的项目根目录
- 执行以下命令,把
[本地包文件夹路径]替换成你存放离线包的实际路径:nuget install System.DirectoryServices.AccountManagement -Version 6.0.0 -Source [本地包文件夹路径] - 安装完成后,手动将包添加到项目引用中即可
方法3:修改NuGet配置文件永久禁用在线源
- 找到NuGet配置文件位置:
- Windows:打开文件管理器,输入
%appdata%\NuGet,找到NuGet.Config文件 - macOS/Linux:在终端输入
~/.nuget/NuGet/NuGet.Config
- Windows:打开文件管理器,输入
- 用记事本或代码编辑器打开该文件,找到
<packageSources>节点,注释掉或删除nuget.org的配置项,只保留你的本地源。示例配置如下:<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <!-- 注释掉在线源 --> <!-- <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> --> <!-- 添加本地源 --> <add key="LocalPackages" value="D:\MyOfflineNuGet" /> </packageSources> </configuration> - 保存文件后,重启Visual Studio再尝试安装包
问题原因
报错是因为NuGet默认会尝试访问在线源获取包索引,哪怕你选了本地包,离线环境下无法解析api.nuget.org就会触发错误。通过禁用在线源或强制指定本地源,就能绕过这个检查流程。
内容的提问来源于stack exchange,提问作者Cosmin Popa
相关产品推荐
相关产品推荐

