克隆系统换SSD后Nuget报错本地源E盘不存在如何解决
解决方案
方法1:通过命令行快速修改(推荐)
- 打开命令提示符或PowerShell,执行以下命令查看当前所有配置的Nuget源:
dotnet nuget list source - 找到路径为
E:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages的无效源,记住它的名称后执行删除命令:dotnet nuget remove source "无效源的名称" - 如果你需要保留本地源,可将原E盘的NuGetPackages文件夹复制到新硬盘的任意路径,再执行命令添加新的本地源:
dotnet nuget add source "你新的本地源完整路径" --name "LocalNugetSource" - 最后执行全局缓存清理命令让配置生效:
dotnet nuget locals all --clear
方法2:通过Visual Studio可视化修改
- 打开Visual Studio,点击顶部菜单栏「工具」->「选项」
- 展开「NuGet包管理器」分类,选择「包源」
- 在右侧的源列表中找到指向E盘路径的无效源,点击减号按钮删除,也可以直接修改路径为新的本地源路径
- 点击「确定」保存后重新右键项目执行「还原NuGet包」即可
方法3:手动修改配置文件(适合前两种方法不生效的场景)
NuGet配置为分层存储,需要检查以下所有位置的NuGet.Config文件,删除包含无效E盘路径的配置项:
- 全局用户配置:在资源管理器地址栏输入
%APPDATA%\NuGet\NuGet.Config直接打开 - 系统级配置:打开
%ProgramFiles(x86)%\NuGet\Config\目录下的所有.config后缀文件 - 项目/解决方案级配置:检查你的Hello World项目所在文件夹、上级解决方案根目录下是否存在
NuGet.Config文件 - 打开配置文件后找到类似如下的无效配置段直接删除即可:
<add key="LocalSource" value="E:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages" />
- 若存在
globalPackagesFolder配置指向E盘,也一并修改为正确路径或者直接删除(删除后会自动使用默认路径%USERPROFILE%\.nuget\packages):
<add key="globalPackagesFolder" value="E:\xxx" />
- 修改完成后重启IDE,执行项目还原命令:
dotnet restore
内容的提问来源于stack exchange,提问作者Jamie Stone
相关产品推荐
相关产品推荐

