Powershell 在NuGet package Manager控制台中列出特定包的所有可用版本
哪个NuGet PowerShell命令将返回特定软件包的所有版本的列表 我尝试了以下方法,但它只返回NUnit的一个版本以及许多其他(un)相关的包,每个包只有一个版本Powershell 在NuGet package Manager控制台中列出特定包的所有可用版本,powershell,nuget,Powershell,Nuget,哪个NuGet PowerShell命令将返回特定软件包的所有版本的列表 我尝试了以下方法,但它只返回NUnit的一个版本以及许多其他(un)相关的包,每个包只有一个版本 Get-Package -Source https://go.microsoft.com/fwlink/?LinkID=206669 -ListAvailable -Filter NUnit -AllVersions 注意:我指定源URI是因为我们有自己的内部包源作为默认远程 我的理解是,-AllVersions开关应该收回
Get-Package -Source https://go.microsoft.com/fwlink/?LinkID=206669 -ListAvailable -Filter NUnit -AllVersions
注意:我指定源URI是因为我们有自己的内部包源作为默认远程
我的理解是,-AllVersions
开关应该收回每个匹配包的每个版本
我似乎不明白:
您的源代码解析为提要的版本1,该版本似乎不适用于
-AllVersions
(我提交了一个问题:)
使用V2提要对我来说很有用:
get-package -ListAvailable -AllVersions -filter nunit -source https://nuget.org/api/v2/
但请注意,-filter
并不是针对特定的包,而是更像一个搜索词
作为一种解决方法,我将使用tab autocomplete获取特定软件包的版本列表:
install-package -source https://nuget.org/api/v2/ -id nunit -version <tab>
安装程序包-源代码https://nuget.org/api/v2/ -id nunit-版本
从3.x版开始,get package-listavable-AllVersions
仍将工作,但会发出以下即将被弃用的警告:
此命令/参数组合已被弃用,将在下一版本中删除。请考虑使用替换它的新命令:“查找包[-ID] - AlpDys'。
此外,支持-ExactMatch
开关,该开关将避免-Filter
具有的通配符匹配问题:
Find Package NUnit-AllVersions-ExactMatch-Sourcehttps://api.nuget.org/v3/index.json
要扩展已提供的解决方案并解决后续问题,可以获得特定软件包的完整版本列表,如下所示:
Find-Package -AllVersions -source https://nuget.org/api/v2/ Newtonsoft.Json -ExactMatch | foreach { $_.Versions } | Select-Object Version
包Newtonsoft.Json就是一个例子。根据需要更换
它的工作原理是首先获取单个软件包的所有版本(通过
-ExactMatch
)。这将返回具有Versions属性的包对象,该属性是版本对象的数组。迭代所有这些,并确保每个版本对象作为一行输出(仅通过选择其主属性)。您说它是您的内部包源,如果是2),为什么在这里询问3?去问问他们!也许我不清楚:我提供的源URI(显然,请参见Alexandre的回答)是NuGetV1包的源端点。我们的内部包源上只有内部开发的包,所以我们需要提供-source来查询官方的NuGet包源。希望这有助于澄清。谢谢你的评论!完美的我不知道标签自动完成。这是一个比运行所有这些命令简单得多的解决方案。谢谢。感谢您打开本期。这并不完美,我们无法看到列出的所有版本。在我的例子中,如果包有4个以上的版本,则只显示前4个版本,而所有剩余版本都被截断(替换为…
)。它有3列,看起来非常漂亮整洁,但不能在versions列中显示所有版本。我不明白为什么这是可以接受的。因此,如果您想查看所有可用的版本,只需使用Nuget软件包管理器(UI)而不是Nuget软件包控制台(在这种情况下,它至少在目前是无用的)。感谢您分享检查软件包版本的自动完成提示。该命令行示例指定了V1提要(或其他提要),但在逐字粘贴时它对我不起作用。然而,当我将V2提要url替换为-source
参数时,它就像一个符咒。我编辑了你的答案,以便自动完成示例引用V2提要。同意King King的观点,将列表截断为单个单元格是不可用的。是否有任何方法可以使用Find Package(查找软件包)实际显示版本列表?即将被弃用?即将搬迁?更新时间(包含版本信息和日期)?值得注意的是,此处引用的Find软件包版本(带有-ExactMatch开关)不是通用PowerShell版本;只有在Visual Studio中使用包管理器控制台才能使用此命令。