点击Clear All NuGet Cache(s)后恢复NuGet包报根级数据无效如何解决
修复方案
你遇到的Error occured while restoring NuGet packages: Data at the root level is invalid. Line 1, position 1报错,本质是点击Visual Studio的*Clear All NuGet Cache(s)*按钮后,部分缓存元数据文件被截断但未完全删除,NuGet读取这些格式损坏的文件时解析失败,就会在切换项目恢复包时反复触发报错。
操作步骤
- 关闭所有已打开的Visual Studio窗口,避免进程占用缓存文件导致删除失败
- 执行以下任意一种方式清理全部NuGet缓存:
- 手动删除三个缓存目录下的所有内容:
- 全局包缓存路径:
%userprofile%\.nuget\packages - v3 API缓存路径:
%localappdata%\NuGet\v3-cache - 插件缓存路径:
%localappdata%\NuGet\plugins-cache
- 全局包缓存路径:
- 打开命令提示符执行清理命令:
dotnet nuget locals all --clear
- 手动删除三个缓存目录下的所有内容:
- 重置NuGet全局配置:进入
%appdata%\NuGet目录,先备份NuGet.Config文件,再删除原文件,重启Visual Studio时会自动生成默认的全新配置文件 - 修复验证:依次打开两个不同的项目执行NuGet包恢复,确认切换项目后不再触发报错,无需重复清理缓存。
内容的提问来源于stack exchange,提问作者Nicolas Sroczynski
相关产品推荐
相关产品推荐

