nuget 包与其源之间的链接是什么?

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

在我的公司,NuGet 包来自不同的来源:

当我启动 Visual Studio 时,我会自动登录(在右上角,我可以看到我的登录设置)。

我可以访问一些 NuGet 包,但有些我无权访问:

  • 公司.某物.UA:好的
  • ControlzEx:好的
  • DevExpress.Chartsv18.2_Core:NOK

我一直在以多种方式进行

NuGet restore
:普通命令行、开发人员提示符、使用标准 NuGet.exe、使用最新的 NuGet.exe、从公司网络内部、从公司网络外部,...,它没有任何区别。

为了查明问题,我正在考虑恢复单个 NuGet 包,该包应该来自一个特定的包源,但该源是什么?
检查 NuGet 包的属性(是否正常)时,未提及包源。

所以我想做:

NuGet.exe restore DevExpress.Chartsv18.2_Core DevExpress..._Core_Package_Source
  • 我怎样才能做到这一点?
  • 我如何知道我需要从哪个包源下载特定的 NuGet 包?
c# visual-studio package nuget
2个回答
4
投票

没有链接。包恢复按照指定源的顺序在

nuget.config
(系统定义的或项目定义的)中的所有源中搜索包,并安装它找到的第一个匹配的包。

您真正要问的是“如何从特定来源安装软件包”,您可以使用

dotnet restore
来做到这一点。请注意,NuGet.exe 是旧版且已弃用;其包恢复功能已集成到
dotnet
工具中并在那里得到改进。

> dotnet restore MyPackage -s NugetSourceName

如果不浏览某个包,就无法知道哪个源可用,但如上所述,这并不重要;包恢复会解决这个问题的。


2
投票

现在(使用 .NET 6 工具)您确实有办法将包(模式)固定到特定的包源。该功能称为“包源映射”:

© www.soinside.com 2019 - 2024. All rights reserved.