今天在 vs2019 中安装包遇到了 “401 Unauthorized” 的错误。这个源是我自己搭建的服务器,添加了访问认证。此前一直好好的,忽然不能用了,应该是身份认证失效了,但是又不弹出输入用户名密码的对话框。

vs2019 NuGet 包管理器  401 Unauthorized 的解决办法-程序旅途
401 Unauthorized 场景示意 (中文示意界面,依据帮助文案整理;以你 App/Web 实际为准)

经过一番探索,还是解决了,记录一下。

vs2019 NuGet 包管理器  401 Unauthorized 的解决办法-程序旅途
核对源与凭据排查流程 (中文示意界面,依据帮助文案整理;以你 App/Web 实际为准)

在前面的文章《dotnet nuget push发布nuget包》提到了身份认证的相关内容,

Windows下 NuGet.Config 在  %AppData%\NuGet\ 文件夹下,打开后,添加 packageSourceCredentials 节点

<packageSourceCredentials>
  <private>
    <add key="Username" value=""/>
    <add key="ClearTextPassword" value=""/>
  </private>
</packageSourceCredentials>

private 是自定义NuGet源的名称。比如在 packageSources 节点下添加一个名称为 myCustom 的源

  <packageSources>
    <add key="myCustom" value="" />
  </packageSources>

那么在 packageSourceCredentials 中再添加一个 myCustom 节点即可。

<packageSourceCredentials>
  <myCustom>
    <add key="Username" value=""/>
    <add key="ClearTextPassword" value=""/>
  </myCustom>
</packageSourceCredentials>

最后别忘了重启 vs2019,然后就可以了。

vs2019 NuGet 包管理器  401 Unauthorized 的解决办法-程序旅途
在 Visual Studio 更新凭据 (中文示意界面,依据帮助文案整理;以你 App/Web 实际为准)

相关阅读