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

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

在前面的文章《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,然后就可以了。