在NuGet程序包pipe理器控制台中列出特定程序包的所有可用版本

什么NuGet PowerShell命令将返回一个特定包的所有版本的列表?

我已经尝试了以下内容,但它只返回一个NUnit版本以及其他一些(un)相关的包,每个包只有一个版本。

Get-Package -Source https://go.microsoft.com/fwlink/?LinkID=206669 -ListAvailable -Filter NUnit -AllVersions

注:我指定了源URI,因为我们有我们自己的内部软件包源作为我们的默认远程。

我的理解是-AllVersions开关应该撤回每个匹配包的每个版本。

我似乎无法弄清楚的是:

  1. 我做错了吗?
  2. 如果不是,项目维护者(或其他人)是否从软件包源中删除旧版本?
  3. 如果是的话,为什么?

从版本3.x开始, get-package -ListAvailable -AllVersions仍然可以工作,但是会发出以下有关即将弃用的警告:

该命令/参数组合已被弃用,将在下一版本中删除。 请考虑使用replace它的新命令:“Find-Package [-Id] -AllVersions”。

另外, Find-Package支持-ExactMatch开关,它将避免-ExactMatch具有的通配符匹配问题:

Find-Package NUnit -AllVersions -ExactMatch -Source https://api.nuget.org/v3/index.json

您的来源解决了饲料的版本1,似乎不工作,所有版本(我提出了一个问题: https : //github.com/NuGet/NuGetGallery/issues/563 )

使用V2饲料为我工作:

 get-package -ListAvailable -AllVersions -filter nunit -source https://nuget.org/api/v2/ 

但要注意的是 – filter不是针对特定的包,而更像是一个search术语。

作为一个解决方法,我会使用标签自动完成获取特定软件包的版本列表:

 install-package -source https://nuget.org/api/v2/ -id nunit -version <tab>