Unsliced
Unsliced

Reputation: 10552

Displaying a NuGet package's dependencies

When you show the Manage NuGet Packages dialog box, it will show the available packages with a lot more information than is apparently available than from the powershell.

In particular, is there a way from the powershell which will list the available packages - or just a single specific package - with the packages they are dependent on, ideally with their target version (ranges)?

Upvotes: 23

Views: 29526

Answers (4)

avenmia
avenmia

Reputation: 2615

I used:

Find-Package <PackageName> -IncludeDependencies

https://learn.microsoft.com/en-us/powershell/module/packagemanagement/find-package?view=powershell-7.1

Upvotes: 4

Erick B
Erick B

Reputation: 514

  1. Go to https://www.nuget.org/
  2. Search for the package you want
  3. Scroll down to the section Dependencies

Upvotes: -7

DavidG
DavidG

Reputation: 119146

For anyone running Nuget v3 or higher (i.e. VS2015), if you run the command Get-Package, you will be given this message:

This Command/Parameter combination has been deprecated and will be removed in the next release. Please consider using the new command that replaces it: 'Find-Package [-Id]'.

The documentation for Find-Package explains the new command rather well, and you can see there is no longer a -list parameter. Unfortunately it seems neither this new nor the old one will give you the dependencies. You can see all the properties returned like this:

Find-Package | Get-Member

Which will return:

   TypeName: NuGet.PackageManagement.PowerShellCmdlets.PowerShellRemotePackage

Name              MemberType Definition
----              ---------- ----------
Equals            Method     bool Equals(System.Object obj)
GetHashCode       Method     int GetHashCode()
GetType           Method     type GetType()
ToString          Method     string ToString()
AllVersions       Property   bool AllVersions {get;set;}
AsyncLazyVersions Property   Microsoft.VisualStudio.... snip
Description       Property   string Description {get;set;}
Id                Property   string Id {get;set;}
LicenseUrl        Property   string LicenseUrl {get;set;}
Version           Property   NuGet.SemanticVer.... snip
Versions          Property   System.Collections.... snip

Upvotes: 6

x0n
x0n

Reputation: 52480

Yes, there is.

# shows all available packages
PM> get-package -list

 # get single package info
PM> get-package -list solrnet.nhibernate

# view dependencies
PM> get-package -list solrnet.nhibernate | select dependencies
NHibernate:[2.1.2.4000]|CommonServiceLocator:[1.0]|SolrNet:[0.3.1] 

Upvotes: 25

Related Questions