问题描述
由于使用 Babel,需要我们在私有存储库上托管自己的包管理器,因此我们使用 Azure Devop 作为包的来源。
但是现在,当我们查找解决方案中尚未包含的任何包时,我们最终会得到“未找到包”:
我们在这里寻找“roslynator”
如果我在一个全新的项目中做同样的请求。完全没有问题,我找到了包裹。
整个团队都被列为贡献者。当我们获取包时,我在任何地方都找不到任何错误。我试图执行命令 Install-package Roslynator
。命令成功,然后我就可以在visual studio的GUI(以及visual studio的web控制台)中看到这个包了。
似乎是 Visual Studio 级别的问题,但我不明白是什么原因造成的?
解决方法
根据Consume NuGet packages in Visual Studio文档中的步骤: 如果您使用上游源,则来自上游源但尚未保存到您的提要(至少使用一次)的任何包都不会出现在包管理器搜索结果中。要安装这些软件包:
- 从公共注册表 (NuGet.org) 复制 Install-Package 命令。
- 选择工具,然后选择 NuGet 包管理器以打开 NuGet 包 经理。
- 将命令粘贴到包管理器控制台中,然后选择运行。
所以这是预期的行为,您的步骤是正确的。
更新:
如果要查找 nuget.org 中的所有包,则需要选择 nuget.org 作为源并搜索包,而不是使用 Azure DevOps 源:
根据 this document:nuget.org 上游源允许您将 nuget.org 的内容合并到您的提要中,以便 NuGet 客户端可以从两个位置安装包,而无需进行多次搜索查询。启用上游源还会自动保存您从上游源使用的包。