我在更新 NuGet packages 时解码时发现了无效数据错误。

32
我一直在尝试从NuGet软件包管理器控制台和上下文选项中管理NuGet软件包以更新Visual Studio 2019中的NuGet软件包。但是,在这两种情况下,都会出现“Found invalid data while decoding.”错误。
我必须退回到Visual Studio 2017进行更新。有没有办法处理这个问题,或者我现在必须继续切换?这两种情况下的错误输出如下:

Enter image description here


1
清除本地 NuGet 缓存?(详情请参见此处。) - Richard
@Richard即使清除缓存后仍然没有提供帮助。 - xariez
1
我发现这可能是VS 2019的问题,暂时通过删除obj文件夹和清除所有缓存来解决。 - cjcrobin
cjcrobin上面的评论起作用了!我清除了NuGet缓存,然后删除了obj文件夹,它就可以工作了。 - Greesemonkey3
2个回答

68

Visual Studio 2019

  1. 进入菜单 工具NuGet 包管理器程序包管理器控制台
  2. 输入命令 dotnet nuget locals all --clear
  3. 清理解决方案。
  4. 从项目文件夹中删除 binobj 文件夹。

它是100%可行的。


我不得不做这两次,第二次我更有耐心,让Visual Studio启动并完全初始化后再进行构建。如果您开始了清理或构建操作,而Visual Studio似乎卡住了,您可以从“生成”菜单取消构建,然后从Visual Studio任务列表中取消该任务,该列表位于左下角。 - Martin Lottering
有很多其他的帖子,但都没有用。非常感谢。这就是为什么我讨厌管理员删除重复问题。那个“重复”的问题有一些细微的差别,最终得到了不同的答案。这正是我所需要的! - ModestMonk
尝试在VS2019中点击每个按钮都没有什么有用的结果。有点好奇如何找到秘密命令行并拯救被GUI破坏的世界。在Windows文档中很难找到信息,但是Stack Overflow是救星。 - silencej
非常感谢!在尝试解决这个问题三个小时后,我终于找到了你的解决方案! - Daiana Sodré
也适用于 Visual Studio 2022。 - Jesper Mygind
dotnet nuget locals all --clear 还修复了问题 error : '.', hexadecimal value 0x00, is an invalid character. Line 1, position 1. 添加以增强搜索引擎优化。当我尝试使用 WSL / ubuntu 并尝试使用 dotnet build 时,我遇到了这个错误。谢谢! - Eli Gassert

3

在我的解决方案中,删除每个项目中的obj和bin文件夹,然后重新打开Visual Studio 2019触发自动包下载对我有用。我不认为您需要删除bin文件夹,但当时我快疯了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接