当我运行
dotnet restore --interactive
时,它不断发送此错误:
错误NU1301:无法加载源的服务索引https://www.nuget.org/api/v3/index.json
但是当我在Nuget管理中查看我的源配置时,它是
https://api.nuget.org/api/v3/index.json
,并且可以通过浏览器打开。
如何将该网址更改为正确的网址?
我可以在
.nuget/nuget/nuget.Config
中看到 packageSource 设置包含以下行:
key="nuget.org" value="https://api.nuget.org/v3/index.json" protocalVersion="3"
但是当我去恢复 nuget 包时,它仍然点击 https://www.nuget.org/api/v3/index.json。为什么?还有其他我错过更改的文件吗?
根据文档的文章NuGet错误NU1301:
最后一句话对我有用。即使使用
dotnet restore --verbosity detailed
,也没有详细的错误消息。第一个源所有者对支持不感兴趣,当前(我的公司)一无所知。所以我用 dotnet nuget disable source <source_name>
禁用了这个特定项目的这个源,是的,这个源不是必需的。
我的团队在
docker compose
内恢复时也面临同样的问题,即使是 https://api.nuget.org/v3/index.json
。正如 @Levi Fuller 和 @PicoutputCls 的评论所暗示的,这是一个 DNS 问题。但在我们的例子中,它不是私人 nuget 源,我们的 IT 团队也没有阻止容器请求(据我所知?)。最终,为了解决这个问题,我们必须在 Docker 引擎配置中设置 DNS:
{
...,
"experimental": false,
"dns": [
"10.1.2.3",
"8.8.8.8"
]
}
您使用什么 DNS 条目取决于您;我们使用了网络的私有 DNS,并在 Google 上进行了回退,但是 YMMV。
有趣的是,
curl https://api.nuget.org/v3/index.json
效果很好......
我要做的是从 Visual Studio 安装程序安装“NuGet 目标和构建任务”。
我从这里找到了答案:
项目文件夹之一中存在单独的nuget.config。 参考 https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior
当我想使用“添加视图”进行控制器操作时,我遇到了此错误。我刚刚连接了互联网,它安装了一些 Nuget 软件包,然后错误就解决了。