VS Code中.NET Interactive Notebook引用System.Text.Json报401错误如何解决
.NET Interactive Notebook拉取NuGet包报401未认证的解决方法
- 第一步:排查本地NuGet源配置
触发401的核心原因是你本地NuGet配置存在需要身份认证的私有源,拉取公共包时被私有源拦截校验失败。执行dotnet nuget list source命令查看所有已配置的源,确认是否存在企业内部源、私有第三方源。 - 第二步:临时指定公共源拉取(快速解决)
在包引用代码前加指定公共源的指令,避免走私有源触发认证,代码修改为:// 优先指定公共源拉取 #i "nuget:https://api.nuget.org/v3/index.json" #r "nuget:System.Text.Json" using System.Text.Json; var t = "ttt"; var x = new { t }; System.Console.WriteLine(JsonSerializer.Serialize(x)); - 第三步:彻底解决源认证问题
如果需要长期使用私有源,先删除本地存储的过期NuGet凭证:Windows系统进入凭据管理器删除nuget相关的Windows凭证,Mac系统进入钥匙串访问删除nuget相关条目,再重新执行拉取操作即可。 - 额外简化方案
System.Text.Json是.NET Core 3.0及以上版本的内置库,如果你使用的是.NET 5+版本的Interactive内核,可以直接删除NuGet引用行,只加命名空间引用就能直接调用,完全绕开NuGet拉取步骤:using System.Text.Json; var t = "ttt"; var x = new { t }; System.Console.WriteLine(JsonSerializer.Serialize(x));
内容的提问来源于stack exchange,提问作者baouss
相关产品推荐
相关产品推荐

