You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.NET Core CLI安装xunit NuGet包遇401未授权错误

解决指定NuGet源安装包时触发私有源401错误的问题

我完全懂你的困惑——明明已经用-s参数指定了nuget.org作为xunit包的来源,结果却触发了内部私有源的未授权错误。这是因为dotnet add package命令在添加完包引用后,会自动执行dotnet restore操作,而restore过程会遍历所有你本地配置的NuGet源,尝试解决项目中所有包的依赖(哪怕这些依赖和你刚添加的xunit无关)。如果你的全局或项目级NuGet配置里包含了那个内部源,且没有正确配置凭据,就会抛出401错误。

下面是几个可行的解决方案:

方案1:临时禁用私有源再执行命令

先查看当前所有配置的NuGet源:

dotnet nuget list source

找到那个内部源的名称(比如libs),临时禁用它:

dotnet nuget disable source libs

然后再执行你的安装命令:

dotnet add package xunit -s https://api.nuget.org/v3/index.json

操作完成后,记得重新启用私有源:

dotnet nuget enable source libs

方案2:跳过自动还原,手动指定源还原

在添加包的时候加上--no-restore参数,避免自动触发还原:

dotnet add package xunit -s https://api.nuget.org/v3/index.json --no-restore

然后手动执行还原,只指定nuget.org源:

dotnet restore -s https://api.nuget.org/v3/index.json

方案3:检查并修复私有源的凭据配置

如果你确实需要保留那个内部源的配置,那就给它添加正确的授权凭据:

dotnet nuget update source libs -u <你的用户名> -p <个人访问令牌或密码>

如果是Azure DevOps的私有源,建议用个人访问令牌(PAT)作为密码,权限只需要勾选"Packaging"相关项即可。

额外检查点

  • 查看项目根目录或用户目录(C:\Users\<myuser>\AppData\Roaming\NuGet)下的NuGet.config文件,确认是否有强制添加的私有源配置,必要时可以临时注释掉相关条目。
  • 检查你的.csproj文件,是否有针对特定包的源配置(比如<PackageSource>节点),如果有的话也需要确认凭据是否有效。

内容的提问来源于stack exchange,提问作者Matt W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:46:41