将 Azure Artifact 作为包源时“未找到包”

问题描述

由于使用 Babel,需要我们在私有存储库上托管自己的包管理器,因此我们使用 Azure Devop 作为包的来源。

但是现在,当我们查找解决方案中尚未包含的任何包时,我们最终会得到“未找到包”:

我们在这里寻找“roslynator”

enter image description here

如果我在一个全新的项目中做同样的请求。完全没有问题,我找到了包裹。

但我们在上游源中正确指定了 nuget.org:

enter image description here

整个团队都被列为贡献者。当我们获取包时,我在任何地方都找不到任何错误。我试图执行命令 Install-package Roslynator。命令成功,然后我就可以在visual studio的GUI(以及visual studio的web控制台)中看到这个包了。

似乎是 Visual Studio 级别的问题,但我不明白是什么原因造成的?

解决方法

根据Consume NuGet packages in Visual Studio文档中的步骤: 如果您使用上游源,则来自上游源但尚未保存到您的提要(至少使用一次)的任何包都不会出现在包管理器搜索结果中。要安装这些软件包:

  1. 从公共注册表 (NuGet.org) 复制 Install-Package 命令。
  2. 选择工具,然后选择 NuGet 包管理器以打开 NuGet 包 经理。
  3. 将命令粘贴到包管理器控制台中,然后选择运行。

所以这是预期的行为,您的步骤是正确的。

更新:

如果要查找 nuget.org 中的所有包,则需要选择 nuget.org 作为源并搜索包,而不是使用 Azure DevOps 源: enter image description here

根据 this document:nuget.org 上游源允许您将 nuget.org 的内容合并到您的提要中,以便 NuGet 客户端可以从两个位置安装包,而无需进行多次搜索查询。启用上游源还会自动保存您从上游源使用的包。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...