是否有 CLI 方式来列出 NuGet 包更新?

Is there a CLI way to list NuGet package updates?

在Visual Studio中,我可以右键单击解决方案,然后按照Manage NuGet Packages for Solution...选项查看有更新的引用包。

我想做的是获取相同的信息,但是是通过 CLI - 通过 运行 NuGet CLI 命令或 NuGet PowerShell 命令。仅包含可用更新的软件包列表以及当前和最新版本就足够了。

我查看了 NuGet CLI 和 NuGet Powershell 的文档,但看不到任何候选命令。

这可能吗? Visual Studio UI 是如何提取这些信息的?

我猜 Visual Studio 是通过 运行 两个 PowerShell 命令完成的。首先是 Get-Package,它将列出您的 project/solution 中的所有软件包,然后是 Get-Package -Updates,它将仅列出具有可用更新的软件包。之后你可以比较两个列表,你将同时拥有当前版本和最新版本。 Link 到文档:Get-Package (Package Manager Console in Visual Studio)

我认为您可以在解决方案的包管理器控制台中使用此命令来获取所需的输出:

Get-Package -Updates  | Select-Object Id, Version, @{Name="CurrentVersion"; Expression ={(Get-Package -filter $_.Id)[0].Versions.Version.ToString()}} 

应该只获取那些需要更新和安装当前版本的包。