2012-01-27 31 views
14

Al mostrar el cuadro de diálogo Gestionar paquetes NuGet, se mostrarán los paquetes disponibles con mucha más información de la que aparentemente está disponible que desde el powershell.Mostrar las dependencias de un paquete NuGet

En particular, ¿hay alguna manera de que el powershell enumere los paquetes disponibles, o simplemente un único paquete específico, con los paquetes de los que dependen, idealmente con su versión de destino (rangos)?

Respuesta

15

Sí, la hay.

# 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] 
+2

No parece ser dependencias en la lista en VS2015 –

+0

Esto no parece ser PowerShell, esto se ve como el Administrador de paquetes en Visual Studio –

+8

@MichaelEakins La ventana del administrador de paquetes NuGet en Visual Studio se implementa como un host de PowerShell, ergo * es * PowerShell. Lo sé, porque escribí la mayor parte. – x0n

1

Para cualquier persona que ejecute v3 Nuget o superior (es decir, VS2015), si ejecuta el comando Get-Package, se le dará este mensaje:

Esta combinación/parámetro de comando ha quedado obsoleto y será eliminado en la próxima versión. Considere usar el nuevo comando que lo reemplaza: 'Find-Package [-Id]'.

La documentación para Find-Package explica el nuevo comando bastante bien, y se puede ver que ya no es un parámetro -list. Desafortunadamente, parece que ni este nuevo ni el anterior te darán las dependencias. Puede ver todas las propiedades devueltas como esto:

Find-Package | Get-Member 

que devolverá:

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 
+3

Esto es correcto, pero ... ¿cómo se encuentran las dependencias ahora? – Noctis

+0

@Noctis Como dije en mi respuesta, ahora no puedes hacerlo con Powershell. Sin embargo, no hay nada que le impida bifurcar [cmdlets en GitHub] (https://github.com/NuGet/NuGet.Client/tree/dev/src/NuGet.Clients/PackageManagement.PowerShellCmdlets/Cmdlets) o, mejor aún, enviar un solicitud de extracción – DavidG

Cuestiones relacionadas