Jak wyświetlić listę wszystkich lokalnie zainstalowanych pakietów NuGet?
Czy istnieje odpowiednik NuGet RPM -qa
? W Chocolatey jest chocolatey list -localonly
, ale przez całe życie nie mogę znaleźć odpowiednika NuGet tego polecenia.
Jak wyświetlić listę wszystkich lokalnie zainstalowanych pakietów NuGet?
Czy istnieje odpowiednik NuGet RPM -qa
? W Chocolatey jest chocolatey list -localonly
, ale przez całe życie nie mogę znaleźć odpowiednika NuGet tego polecenia.
Odpowiedzi:
W konsoli Menedżera pakietów NuGet wprowadź następujące polecenie:
Get-Package
Spowoduje to albo wydrukowanie listy zainstalowanych pakietów, albo, jeśli nie ma ich, napisz następujący wiersz do konsoli:
PM> Get-Package
No packages installed.
Aby uzyskać więcej informacji, zapoznaj się z dokumentacją NuGet PowerShell .
Get-Package
, nazwy pakietów są przycinane , kiedy mają więcej niż 32 characteres. Czy można zwiększyć kolumnę nazwy pakietu, aby w wynikach były wyświetlane pełne nazwy bez ich przycinania?
Get-Package | Format-Table -AutoSize
zrobi to
Jeśli po prostu to zrobisz
Get-Package
wyświetli listę pakietów i miejsca, do których się odnoszą. Wyświetli te same pakiety w kółko, jeśli masz do nich wiele odwołań. Jeśli chcesz uzyskać czystą listę wszystkich pakietów zainstalowanych w rozwiązaniu, możesz to zrobić
Get-Package | select -Unique Id, Versions
Get-Package -ProjectName "Your.Project.Name"
Pokaże pakiety dla określonego projektu.
Zobacz także: Dokumentacja programu PowerShell konsoli Menedżera pakietów
Zauważ, że każdy projekt będzie miał plik packages.config, który jest używany do śledzenia zainstalowanych pakietów. Jeśli zostanie to zmienione (szczególnie jeśli zmienisz to wstecz), projekty mogą nie pobrać automatycznie poprawnej wersji pakietu. W takim przypadku zanotuj wymagane pakiety i zrób pakiet dezinstalacyjny, a następnie pakiet instalacyjny dla każdego.
Ponadto kopie zapasowe są Twoimi przyjaciółmi! ;)
W programie Visual Studio
packages.config
pliku. Zobacz dokumentację firmy Microsoft .
Jak wyświetlić listę wszystkich zainstalowanych pakietów NuGet?
Zakładając, że NuGet jest poprawnie zainstalowany
Kliknij prawym przyciskiem myszy węzeł projektu i kliknij opcję Zarządzaj pakietami NuGet
Zobacz listę zainstalowanych pakietów
Odpowiedź na pytanie „Czy można to zrobić za pomocą nuget.exe? - bitbonk” :
nuget list -Source C:/packages
Gdzie C: / packages to ścieżka do lokalnego repozytorium.
Jeśli masz zainstalowane środowisko uruchomieniowe .NET Core, możesz użyć polecenia dotnet list package w narzędziach interfejsu wiersza polecenia platformy .NET Core, aby pobrać zainstalowane pakiety dla danego rozwiązania lub projektu. Użyj go w ten sposób z wiersza poleceń systemu Windows:
dotnet list "C:\Source\MySolution\MySolution.sln" package
Działa w projektach .NET Framework i .NET Core.
Uwaga: Aby to polecenie działało, rozwiązanie musi używać nowego formatu NuGet PackageReference do odwoływania się do pakietów NuGet. Migracja jest tak łatwa, jak kliknięcie prawym przyciskiem myszy packages.config i kliknięcie „Migrate packages.config do PackageReference ...”, a następnie przywrócenie pakietów przez utworzenie rozwiązania.
Odpowiedź na pytanie „Czy istnieje sposób, aby to zrobić za pomocą programu NuGet.exe?” - bitbonk
Na podstawie powyższej odpowiedzi jstar . Użyłem \
zamiast tego, /
który pasuje bardziej do środowiska Windows, w którym nuget jest w domu. Moja edycja odpowiedzi została odrzucona, więc zamieszczam własną.
nuget list -Source c:\code\packages
Gdzie c:\code
jest ścieżka do lokalnego repozytorium kodu. packages
Folder jest na takim samym poziomie jak rozwiązanie-file (* .sln).