如何列出所有已安装的NuGet包?

时间:2014-03-12 21:13:42

标签: c# asp.net visual-studio nuget

如何列出所有本地安装的NuGet包? NuGet是否等同于RPM -qa?在巧克力中有chocolatey list -localonly,但对于我的生活,我找不到NuGet等同于该命令。

9 个答案:

答案 0 :(得分:76)

NuGet程序包管理器控制台中,输入以下命令:

Get-Package

这将打印出已安装软件包的列表,如果没有,则将以下行写入控制台:

PM> Get-Package
No packages installed.

有关详细信息,请查看NuGet Powershell Reference

答案 1 :(得分:34)

如果你这样做

Get-Package

它将列出包以及它们被引用的位置。如果你多次引用它们,它会一遍又一遍地列出相同的包。如果您想获得解决方案中安装的所有软件包的清晰列表,您可以

Get-Package | select -Unique Id, Versions

答案 2 :(得分:14)

Get-Package -ProjectName "Your.Project.Name"

将显示指定项目的包。

另请参阅:Package Manager Console PowerShell Reference

请注意,每个项目都有一个packages.config文件,用于跟踪已安装的软件包。如果更改(特别是如果您向后更改),项目可能不会自动下载正确的软件包版本。在这种情况下,请记下所需的软件包并执行uninstall-package,然后为每个软件包安装一个install-package。

此外,备份是你的朋友! ;)

答案 3 :(得分:11)

在Visual Studio中,

  • 转到问题的项目解决方案
  • 右键单击,管理NuGet包 ...
  • 左侧的
  • ,您将看到“已安装的软件包
  • 点击此处,您会看到列表

答案 4 :(得分:5)

  

如何列出所有已安装的NuGet包?

假设Nuget is properly installed

右键单击项目节点,然后点击管理NuGet包

Right click Project node

请参阅已安装的软件包列表

See installed packages

答案 5 :(得分:5)

除了所有给定的答案之外,VisualStudio项目根文件夹中还有xml格式的所有已安装软件包的清单:packages.config:

enter image description here

答案 6 :(得分:2)

如果已安装.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 ...”,然后通过构建解决方案来还原包一样容易。

答案 7 :(得分:0)

回答“是否有办法使用nuget.exe?bitbonk”

裸体名单-来源c:/ packages

其中c:/ packages是本地存储库的路径。

答案 8 :(得分:0)

回答“是否可以使用nuget.exe来做到这一点?” – bitbonk

基于上面jstar的答案。我使用的是\而不是/,它更适合nuget在家的Windows环境。我对答案的修改被拒绝,所以我发表了自己的答案。

nuget list -Source c:\code\packages

c:\code是您本地代码存储库的路径。 packages文件夹与解决方案文件(* .sln)处于同一级别。