Nuget 恢复错误 NU1301 加载服务失败

问题描述 投票:0回答:5

当我运行

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 nuget-package-restore
5个回答
5
投票

根据文档的文章NuGet错误NU1301

  • 由于列出的源不可用,因此无法完成恢复。
  • 查看错误消息以了解更多详细信息。
  • 您可能需要通知源代码所有者,因为可能存在只有他们才能解决的问题。
  • 或者,您可以尝试从配置中删除源并重试。您的构建可能不需要配置的源。

最后一句话对我有用。即使使用

dotnet restore --verbosity detailed
,也没有详细的错误消息。第一个源所有者对支持不感兴趣,当前(我的公司)一无所知。所以我用
dotnet nuget disable source <source_name>
禁用了这个特定项目的这个源,是的,这个源不是必需的


3
投票

我的团队在

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
效果很好......


1
投票

我要做的是从 Visual Studio 安装程序安装“NuGet 目标和构建任务”。


0
投票

我从这里找到了答案:

项目文件夹之一中存在单独的nuget.config。 参考 https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior


0
投票

当我想使用“添加视图”进行控制器操作时,我遇到了此错误。我刚刚连接了互联网,它安装了一些 Nuget 软件包,然后错误就解决了。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.