【发布时间】:2014-04-17 07:43:24
【问题描述】:
如何列出所有本地安装的 NuGet 包?
是否有与 RPM -qa 等效的 NuGet?在Chocolatey 中有chocolatey list -localonly,但我终其一生都找不到与该命令等效的 NuGet。
【问题讨论】:
标签: asp.net visual-studio nuget command-line-interface
如何列出所有本地安装的 NuGet 包?
是否有与 RPM -qa 等效的 NuGet?在Chocolatey 中有chocolatey list -localonly,但我终其一生都找不到与该命令等效的 NuGet。
【问题讨论】:
标签: asp.net visual-studio nuget command-line-interface
在 NuGet 包管理器控制台中,输入以下命令:
Get-Package | Format-Table -AutoSize
这将打印出已安装软件包的列表,或者如果不存在,则将以下行写入控制台:
PM> Get-Package
No packages installed.
更多详情,请查看NuGet PowerShell Reference。
【讨论】:
Get-Package后,packages' names are trimmed当它们有超过32个字符时。是否可以增加包名列,以便输出显示全名而不修剪它们?
Get-Package | Format-Table -AutoSize 会做到的
如果你这样做
Get-Package
它将列出包以及它们被引用的位置。如果您多次引用它们,它将一遍又一遍地列出相同的包。如果您想获得解决方案中安装的所有软件包的干净列表,您可以这样做
Get-Package | select -Unique Id, Versions
【讨论】:
Get-Package -ProjectName "Your.Project.Name"
将显示指定项目的包。
另请参阅:Package Manager Console PowerShell Reference
请注意,每个项目都有一个 packages.config 文件,用于跟踪已安装的包。如果这被改变(特别是如果你向后改变它),项目可能不会自动下载正确的包版本。在这种情况下,请记下所需的包并执行卸载包,然后为每个包执行安装包。
此外,备份是您的朋友! ;)
【讨论】:
如果您安装了 .NET Core 运行时,则可以使用 .NET Core CLI 工具中的 dotnet list package 命令来获取给定解决方案或项目的已安装包。在 Windows 命令行中像这样使用它:
dotnet list "C:\Source\MySolution\MySolution.sln" package
它适用于 .NET Framework 和 .NET Core 项目。
注意:要使此命令起作用,解决方案必须使用new NuGet PackageReference format 来引用 NuGet 包。迁移很简单,只需右键单击 packages.config,然后单击“将 packages.config 迁移到 PackageReference...”,然后通过构建解决方案来恢复包。
【讨论】:
在 Visual Studio 中,
【讨论】:
【讨论】:
packages.config 文件。见Microsoft documentation。
回复"Is there a way to do this using nuget.exe? – bitbonk":
nuget list -Source C:/packages
其中 C:/packages 是本地存储库的路径。
【讨论】:
【讨论】: