Visual Studio中NuGet管理器故障时,手动安装NuGet包的方法
NuGet连接nuget.org报错的替代解决方案
一、手动安装单个NuGet包
你可以直接处理.nupkg包,步骤如下:
- 从能正常访问nuget.org的设备上下载对应版本的
.nupkg包 - 将
.nupkg后缀改为.zip,解压到项目目录下的专用文件夹(比如新建local_packages) - 两种引用方式:
- 通过NuGet管理器添加本地源:右键项目→管理NuGet程序包→右上角设置图标→程序包源→添加本地文件夹(指向解压后的文件夹或存放
.nupkg的文件夹),之后就能在该源下安装包 - 手动修改项目文件:打开
.csproj,添加类似以下的引用节点,替换包名、版本和实际路径
- 通过NuGet管理器添加本地源:右键项目→管理NuGet程序包→右上角设置图标→程序包源→添加本地文件夹(指向解压后的文件夹或存放
<Reference Include="Newtonsoft.Json, Version=13.0.3.0"> <HintPath>..\local_packages\Newtonsoft.Json\lib\net6.0\Newtonsoft.Json.dll</HintPath> </Reference>
二、搭建本地离线NuGet源(批量管理包)
如果需要安装多个包,搭建本地源更方便:
- 在本地磁盘新建一个文件夹(比如
D:\OfflineNuGet) - 把所有需要的
.nupkg包复制到这个文件夹里 - 打开Visual Studio→工具→NuGet包管理器→程序包管理器设置→程序包源→点击加号,输入名称(比如“本地离线源”),选择刚才新建的文件夹,保存设置
- 之后在管理NuGet包时切换到这个本地源,就能正常搜索、安装包了
三、最后可尝试的网络修复操作(如果不想放弃在线源)
- 检查TLS版本:打开Internet选项→高级→安全,勾选TLS 1.2和TLS 1.3,取消旧版本的TLS(比如1.0、1.1)
- 临时关闭杀毒软件、防火墙:部分安全工具会拦截NuGet的HTTPS请求
- 重置网络栈:以管理员身份打开命令提示符,执行
netsh winsock reset和netsh int ip reset,重启电脑后再测试
内容的提问来源于stack exchange,提问作者Entretoize
相关产品推荐
相关产品推荐

