Wie listet man alle lokal installierten NuGet-Pakete auf?
Gibt es ein NuGet-Äquivalent von RPM -qa
? In Chocolatey gibt es das chocolatey list -localonly
, aber für mein Leben kann ich das NuGet-Äquivalent dieses Befehls nicht finden.
Wie listet man alle lokal installierten NuGet-Pakete auf?
Gibt es ein NuGet-Äquivalent von RPM -qa
? In Chocolatey gibt es das chocolatey list -localonly
, aber für mein Leben kann ich das NuGet-Äquivalent dieses Befehls nicht finden.
Antworten:
Geben Sie in der NuGet Package Manager-Konsole den folgenden Befehl ein:
Get-Package
Dadurch wird entweder eine Liste der installierten Pakete ausgedruckt, oder wenn keine vorhanden sind, schreiben Sie die folgende Zeile in die Konsole:
PM> Get-Package
No packages installed.
Weitere Informationen finden Sie in der NuGet PowerShell-Referenz .
Get-Package
, werden Pakete Namen getrimmt , wenn sie mehr als 32 characteres haben. Ist es möglich, die Spalte für den Paketnamen so zu vergrößern, dass in der Ausgabe die vollständigen Namen angezeigt werden, ohne sie zu kürzen?
Get-Package | Format-Table -AutoSize
werde es tun
Wenn du es nur tust
Get-Package
Es werden die Pakete aufgelistet und wo sie referenziert werden. Es werden dieselben Pakete immer wieder aufgelistet, wenn Sie sie mehrmals referenziert haben. Wenn Sie eine saubere Liste aller in der Lösung installierten Pakete erhalten möchten, können Sie dies tun
Get-Package | select -Unique Id, Versions
Get-Package -ProjectName "Your.Project.Name"
Zeigt die Pakete für das angegebene Projekt an.
Siehe auch: PowerShell-Referenz für die Package Manager-Konsole
Beachten Sie, dass jedes Projekt über eine Datei packages.config verfügt, mit der installierte Pakete verfolgt werden. Wenn dies geändert wird (insbesondere wenn Sie es rückwärts ändern), laden die Projekte möglicherweise nicht automatisch die richtige Paketversion herunter. Notieren Sie sich in diesem Fall die erforderlichen Pakete und führen Sie ein Deinstallationspaket durch, gefolgt von einem Installationspaket für jedes Paket.
Auch Backups sind dein Freund! ;)
In Visual Studio
Zusätzlich zu allen gegebenen Antworten gibt es auch eine saubere Liste aller installierten Pakete in Ihrem Visual Studio-Projektstammordner im XML-Format: packages.config :
packages.config
Datei. Siehe Microsoft-Dokumentation .
Wie liste ich alle installierten NuGet-Pakete auf?
Vorausgesetzt, NuGet ist ordnungsgemäß installiert
Klicken Sie mit der rechten Maustaste auf den Knoten Projekt und klicken Sie auf NuGet-Pakete verwalten
Siehe Liste der installierten Pakete
Antwort auf "Gibt es eine Möglichkeit, dies mit nuget.exe zu tun? - bitbonk" :
nuget list -Source C:/packages
Wobei C: / packages ein Pfad zu Ihrem lokalen Repository ist.
Wenn Sie die .NET Core-Laufzeit installiert haben, können Sie den Befehl dotnet list package in den .NET Core CLI-Tools verwenden, um installierte Pakete für eine bestimmte Lösung oder ein bestimmtes Projekt abzurufen. Verwenden Sie es wie folgt über die Windows-Befehlszeile:
dotnet list "C:\Source\MySolution\MySolution.sln" package
Es funktioniert sowohl in .NET Framework- als auch in .NET Core-Projekten.
Hinweis: Damit dieser Befehl funktioniert, muss die Lösung das neue NuGet PackageReference-Format zum Verweisen auf NuGet-Pakete verwenden. Die Migration ist so einfach wie das Klicken mit der rechten Maustaste auf packages.config und das Klicken auf "Migrieren von packages.config nach PackageReference ..." und das Wiederherstellen von Paketen durch Erstellen der Lösung.
Antwort auf "Gibt es eine Möglichkeit, dies mit nuget.exe zu tun?" - Bitbonk
Basierend auf der Antwort von jstar oben. Ich habe \
stattdessen verwendet, /
was mehr in die Windows-Umgebung passt, in der Nuget zu Hause ist. Meine Bearbeitung der Antwort wurde abgelehnt, daher poste ich meine eigene.
nuget list -Source c:\code\packages
Wo c:\code
ist ein Pfad zu Ihrem lokalen Code-Repository? Der packages
Ordner befindet sich auf derselben Ebene wie Ihre Lösungsdatei (* .sln).