2012-01-27 29 views
14

Wyświetlenie okna dialogowego Zarządzaj pakietami NuGet spowoduje wyświetlenie dostępnych pakietów z dużo większą ilością informacji, niż jest to możliwe do uzyskania niż z poziomu powłoki powershell.Wyświetlanie zależności pakietu NuGet

W szczególności, czy istnieje sposób z listy uprawnień, która wyświetli listę dostępnych pakietów - lub tylko jednego konkretnego pakietu - z pakietami, od których są zależni, najlepiej z ich docelową wersją (zakresami)?

Odpowiedz

15

Tak, jest.

# 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

Nie wydaje się, że być zależne na liście w VS2015 –

+0

To nie wydaje się być PowerShell, wygląda to jak Menedżer pakietów w Visual Studio –

+8

@MichaelEakins Okno menedżera pakietów NuGet w Visual Studio jest zaimplementowane jako host PowerShell, ergo to * to * PowerShell. Wiem o tym, bo napisałem większość. – x0n

1

Dla każdego z systemem Nuget v3 lub wyższej (tj VS2015), jeśli uruchomić polecenie Get-Package, zostanie podany komunikat:

Ta kombinacja/Parametr polecenia jest przestarzała i będzie usunięte w następnej wersji. Rozważ użycie nowego polecenia, które go zastąpi: "Znajdź-pakiet [-Id]".

Dokumentacja dla dość dobrze wyjaśnia nową komendę i widać, że nie ma już parametru -list. Niestety wydaje się, że ani ten nowy, ani stary nie da ci zależności. Można zobaczyć wszystkie właściwości zwrócony tak:

Find-Package | Get-Member 

Który powróci:

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

To prawda, ale .. jak znaleźć teraz zależności? – Noctis

+0

@Noctis Tak jak powiedziałem w mojej odpowiedzi, nie możesz teraz robić tego z Powershell. Nic nie powstrzyma cię od rozwidlenia [cmdletów na GitHub] (https://github.com/NuGet/NuGet.Client/tree/dev/src/NuGet.Clients/PackageManagement.PowerShellCmdlets/Cmdlets), a nawet lepiej, przesyłając prośba o pociągnięcie – DavidG

Powiązane problemy