Verwalten von NuGet-Paketen mit der NuGet CLI

Sie können das nuget.exe CLI-Tool verwenden, um NuGet-Pakete in Visual Studio-Projekten und -Lösungen zu verwalten. In diesem Artikel werden die am häufigsten verwendeten NuGet CLI-Befehle zum Verwalten von NuGet-Paketen beschrieben. All diese Befehle funktionieren unter Windows, und die meisten arbeiten auf Mac und unter Linux mit Mono.

Die NuGet CLI läuft auf .NET Framework- und Nicht-SDK-Projekten, z. B. Nicht-SDK-Projekten, die auf .NET-Standardbibliotheken abzielen. Die NuGet CLI-Befehle können eine Project packages.config-Datei verwenden, die Paketverweise auflistet. Verwenden Sie für Projekte im Nicht-SDK-Stil, die PackageReference anstelle von packages.config für Paketverweise verwendet werden, stattdessen die dotnet CLI.

Hinweis

Für die meisten Projekte im Nicht-SDK-Stil, die packages.config verwenden, empfiehlt es sich, packages.config zu PackageReference zu migrieren und dann die dotnet CLI anstelle der NuGet CLI zum Verwalten von Paketen zu verwenden. Sie können jedoch keine C++- oder ASP.NET-Projekte migrieren.

Für die meisten Befehle verwendet das NuGet CLI-Tool das aktuelle Verzeichnis, es sei denn, Sie geben einen anderen Speicherort im Befehl an. Um NuGet CLI-Befehle auszuführen, öffnen Sie eine Befehlszeile und wechseln Sie in das Verzeichnis, das Ihre Projektdatei enthält.

Eine vollständige Liste der verfügbaren Befehle und Argumente finden Sie in der Referenz zu NuGet CLI.

Voraussetzungen

Laden Sie die NuGet CLI von nuget.org herunter. Speichern Sie die Datei nuget.exe in einem geeigneten Verzeichnis, und stellen Sie sicher, dass sich das Verzeichnis in Ihrer PATH-Umgebungsvariable befindet.

Hinweis

Sie können auch das Winget-Tool für Windows oder Homebrew für macOS verwenden.

Um Ihre NuGet CLI-Version zu ermitteln, öffnen Sie eine Befehlszeile und führen nuget help aus, oder um zu vermeiden, dass Sie nach oben scrollen müssen, verwenden Sie nuget help | more. Die erste Zeile der Hilfeausgabe zeigt die Version an.

Installieren eines Pakets

Der NuGet CLI-Installationsbefehl lädt die angegebenen NuGet-Pakete herunter und installiert sie.

Wichtig

Der Befehl install ändert keine Projekt- oder packages.config-Datei. Die Befehle install und restore fügen nur Pakete auf dem Datenträger, aber keine Abhängigkeiten zu Projekten hinzu. Um Projektabhängigkeiten hinzuzufügen, fügen Sie Pakete über die Visual Studio Paket-Manager UI oder Paket-Manager Konsole hinzu, und führen Sie dann install oder restore aus.

Verwenden Sie die Option -OutputDirectory zum Installieren von Paketen in einem bestimmten Verzeichnis. Wenn Sie kein Ausgabeverzeichnis angeben, verwendet install das aktuelle Verzeichnis.

nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>

Verwenden Sie beispielsweise den folgenden Befehl, um das Paket Newtonsoft.json im UnterverzeichnisPakete zu installieren:

nuget install Newtonsoft.Json -OutputDirectory packages

Anstatt ein zu installierendes Paket anzugeben, können Sie eine vorhandene packages.config-Datei im aktuellen oder einem anderen Verzeichnis angeben. Der install-Befehl installiert alle Pakete, die in der packages.config-Datei aufgeführt sind.

nuget install packages.config

Mit dem folgenden Befehl werden beispielsweise alle Pakete installiert, die in packages.config im Unterverzeichnis config im Unterverzeichnis packages aufgeführt sind:

nuget install config\packages.config -OutputDirectory packages

Installieren einer bestimmten Paketversion

Mit dem Befehl install wird die neueste Version eines Pakets installiert, wenn keine andere Version angegeben wird. Mit der Option -Version installieren Sie eine spezifische Version eines Pakets.

nuget install <packageID | configFilePath> -Version <version>

Um Version 12.0.1 des Newtonsoft.json-Pakets hinzuzufügen, verwenden Sie beispielsweise:

nuget install Newtonsoft.Json -Version 12.0.1

Auflisten von Paketen

Verwenden Sie den Befehl Liste, um eine Liste der Pakete anzuzeigen, die in den Paketordnern installiert sind. Verwenden Sie die Option -Source, um die Liste einzuschränken.

nuget list -Source <source>

Wenn Sie beispielsweise Pakete im Unterverzeichnis Pakete von MyProject auflisten möchten, verwenden Sie:

nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages

Sie können auch einen Suchbegriff verwenden, um nach Paketnamen, Tags oder Beschreibungen zu suchen:

nuget list <"search term"> -Source <source>

Aktualisieren aller Pakete

Verwenden Sie den Befehl Aktualisieren, um alle Pakete in einer packages.config-Projektdatei auf die neuesten verfügbaren Versionen zu aktualisieren. Es ist am besten, restore vor der Ausführung update von auszuführen.

nuget update

Entfernen eines Pakets

Um ein Paket zu entfernen, löschen Sie dieses Paket aus dem Projektordner. Um Pakete erneut zu installieren, verwenden Sie den Befehl restore oder install.

Beim Löschen von Paketen vom Datenträger werden die Dateien „project“, packages.config oder NuGet.Config nicht aktualisiert. Die beste Möglichkeit zum Entfernen von Paketen ist die Visual Studio Paket-Manager-UI oder Paket-Manager-Konsole.

Pakete wiederherstellen

Der NuGet CLI-Wiederherstellungsbefehl lädt alle fehlenden Pakete herunter und installiert sie. Der Befehl funktioniert für Projekte, die entweder PackageReference oder packages.config für Paketverweise verwenden.

Wie install, fügt der Befehl restore nur Pakete auf dem Datenträger hinzu, ändert aber nicht die Projektdatei oder packages.config. Verwenden Sie zum Hinzufügen von Projektabhängigkeiten die Visual Studio Paket-Manager UI oder Konsole.

Führen Sie den folgenden Befehl aus, um Pakete für Ihr Projekt wiederherzustellen:

nuget restore <projectPath>

Der Befehl restore verwendet eine Lösungsdatei oder eine package.config-Datei im angegebenen Projektpfad.

Um beispielsweise alle Pakete für MySolution.sln im aktuellen Verzeichnis wiederherzustellen, führen Sie Folgendes aus:

nuget restore MySolution.sln

Hinweis

Verwenden Sie für Projekte im Nicht-SDK-Stil, die PackageReference verwenden, msbuild -t:restore, um stattdessen Pakete wiederherzustellen.

Weitere Informationen finden Sie unter Pakete wiederherstellen.

Nächste Schritte