Wiederherstellungsbefehl (NuGet CLI)
Gilt für: Paketverbrauch • Unterstützte Versionen: 2.7+
Lädt alle fehlenden Pakete aus dem Ordner packages
herunter und installiert sie. Bei Verwendung mit NuGet 4.0+ und dem PackageReference-Format wird bei Bedarf eine <project>.nuget.props
-Datei im Ordner obj
erzeugt. (Die Datei kann aus der Quellcodeverwaltung ausgelassen werden.)
Unter Mac OSX und Linux mit dem CLI auf Mono wird die Wiederherstellung von Paketen mit PackageReference nicht unterstützt.
Verbrauch
nuget restore <projectPath> [options]
wobei <projectPath>
den Ort einer Lösung oder einer packages.config
-Datei angibt. Siehe Hinweise unten für Details zum Verhalten.
Optionen
-ConfigFile
Die NuGet-Konfigurationsdatei. Wenn nicht angegeben,
%AppData%\NuGet\NuGet.Config
(Windows) oder~/.nuget/NuGet/NuGet.Config
~/.config/NuGet/NuGet.Config
(Mac/Linux) wird verwendet.-DirectDownload
(4.0+) Lädt Pakete direkt herunter, ohne die Caches mit Binärdateien oder Metadaten zu füllen.
-DisableParallelProcessing
Deaktiviert die parallele Wiederherstellung mehrerer Pakete.
-FallbackSource
(3.2+) Eine Liste von Paketquellen, die als Fallback verwendet werden, falls das Paket nicht in der primären oder Standardquelle gefunden wird. Verwenden Sie ein Semikolon, um Listeneinträge zu trennen.
-Force
Erzwingt bei Projekten, die auf PackageReference basieren, die Auflösung aller Abhängigkeiten, auch wenn die letzte Wiederherstellung erfolgreich war. Die Angabe dieses Kennzeichens ist mit dem Löschen der Datei
project.assets.json
vergleichbar. Dadurch wird der HTTP-Cache nicht umgangen.-ForceEnglishOutput
(3.5+) Erzwingt die Ausführung der Anwendung mithilfe einer invarianten Kultur, die auf Englisch basiert.
-ForceEvaluate
Erzwingt die Neubewertung aller Abhängigkeiten bei der Wiederherstellung, selbst wenn bereits eine Sperrdatei vorhanden ist.
-?|-help
Druckt Hilfeinformationen für den Befehl.
-LockFilePath
Ausgabespeicherort, in den die Projektsperrdatei geschrieben wird. Standardmäßig ist dies
PROJECT_ROOT\packages.lock.json
.-LockedMode
Lassen Sie keine Aktualisierung der Projektsperrdatei zu.
-MSBuildPath
(4,0+) Gibt den Pfad von MSBuild an, der mit dem Befehl verwendet werden soll, und hat Vorrang vor
-MSBuildVersion
.-MSBuildVersion
(3.2+) Gibt die Version von MSBuild an, die mit diesem Befehl verwendet werden soll. Unterstützte Werte sind 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Standardmäßig wird "MSBuild" in Ihrem Pfad ausgewählt, andernfalls wird standardmäßig die höchste installierte Version von MSBuild verwendet.
-NoHttpCache
Verhindert, dass NuGet über http gecachte Pakete verwendet. Siehe Verwalten von globalen Paketen und Cacheordnern.
-NonInteractive
Fordert nicht zu Eingaben oder Bestätigungen des Benutzers auf.
-OutputDirectory
Gibt den Ordner an, in dem Pakete installiert sind. Wird dieses Argument nicht angegeben, wird der aktuelle Ordner verwendet. Erforderlich bei der Wiederherstellung mit einer
packages.config
-Datei, sofern nichtPackagesDirectory
oderSolutionDirectory
verwendet wird.-PackageSaveMode
Gibt die Dateitypen an, die nach der Paketinstallation gespeichert werden sollen: eine der Optionen
nuspec
,nupkg
, odernuspec;nupkg
.-PackagesDirectory
Wie in
OutputDirectory
. Erforderlich bei der Wiederherstellung mit einerpackages.config
-Datei, sofern nichtOutputDirectory
oderSolutionDirectory
verwendet wird.-Project2ProjectTimeOut
Timeout in Sekunden für die Auflösung von Projekt-zu-Projekt-Referenzen.
-Recursive
(4.0+) Stellt alle Referenzprojekte für UWP- und .NET Core-Projekte wieder her. Gilt nicht für Projekte, die
packages.config
verwenden.-RequireConsent
Überprüft, ob die Wiederherstellung von Paketen aktiviert ist, bevor die Pakete heruntergeladen und installiert werden. Weitere Informationen finden Sie unter Paketwiederherstellung.
-SolutionDirectory
Gibt den Lösungsordner an. Gilt nicht für die Wiederherstellung von Paketen für eine Lösung. Erforderlich bei der Wiederherstellung mit einer
packages.config
-Datei, sofern nichtPackagesDirectory
oderOutputDirectory
verwendet wird.-Source
Gibt die Liste der Paketquellen (als URLs) an, die für die Wiederherstellung verwendet werden sollen. Wenn sie weggelassen wird, verwendet der Befehl die in Konfigurationsdateien bereitgestellten Quellen unter Konfigurieren des NuGet-Verhaltens. Verwenden Sie ein Semikolon, um Listeneinträge zu trennen.
-UseLockFile
Ermöglicht das Generieren und Verwenden einer Projektsperrdatei bei der Wiederherstellung.
-Verbosity [normal|quiet|detailed]
Gibt an, wie viele Details in der Ausgabe angezeigt werden:
normal
(der Standard),quiet
oderdetailed
.
Weitere Informationen finden Sie unter Umgebungsvariablen
Hinweise
Mit dem Wiederherstellungsbefehl werden die folgenden Aktionen ausgeführt:
Bestimmen Sie die Betriebsart des Wiederherstellungsbefehls.
projectPath-Dateityp Behavior Lösung (Ordner) NuGet sucht nach einer .sln
-Datei und verwendet diese, wenn sie gefunden wird; andernfalls wird ein Fehler ausgegeben.(SolutionDir)\.nuget
wird als Startordner verwendet..sln
-DateiWiederherstellen der von der Lösung identifizierten Pakete; gibt einen Fehler, wenn -SolutionDirectory
verwendet wird.$(SolutionDir)\.nuget
wird als Startordner verwendet.packages.config
oder ProjektdateiWiederherstellen der in der Datei aufgeführten Pakete, Auflösen und Installieren der Abhängigkeiten. Anderer Dateityp Es wird angenommen, dass es sich bei der Datei um eine .sln
-Datei wie oben handelt; wenn es sich nicht um eine Lösung handelt, gibt NuGet einen Fehler aus.(projectPath nicht angegeben) - NuGet sucht nach Lösungsdateien im aktuellen Ordner. Wenn eine einzige Datei gefunden wird, wird diese zur Wiederherstellung der Pakete verwendet; wenn mehrere Lösungen gefunden werden, gibt NuGet eine Fehlermeldung aus.
- Wenn keine Lösungsdateien vorhanden sind, sucht NuGet nach einem
packages.config
und verwendet dieses, um Pakete wiederherzustellen. - Wenn keine Lösung oder
packages.config
-Datei gefunden wird, gibt NuGet einen Fehler aus.
Ermitteln Sie den Paketordner anhand der folgenden Prioritätsreihenfolge (NuGet gibt einen Fehler aus, wenn keiner dieser Ordner gefunden wird):
- Der mit
-PackagesDirectory
angegebene Ordner. - Der
repositoryPath
-Wert istNuget.Config
- Der mit
-SolutionDirectory
angegebene Ordner $(SolutionDir)\packages
- Der mit
Beim Wiederherstellen von Paketen für eine Lösung geht NuGet wie folgt vor:
- Lädt die Lösungsdatei.
- Stellt die in
$(SolutionDir)\.nuget\packages.config
aufgeführten Pakete der Lösungsebene im Ordnerpackages
wieder her. - Stellen Sie die in
$(ProjectDir)\packages.config
aufgeführten Pakete in den Ordnerpackages
wieder her. Für jedes angegebene Paket wird das Paket parallel wiederhergestellt, sofern nicht-DisableParallelProcessing
angegeben ist.
Beispiele
# Restore packages for a solution file
nuget restore a.sln
# Restore packages for a solution file, using MSBuild version 14.0 to load the solution and its project(s)
nuget restore a.sln -MSBuildVersion 14
# Restore packages for a project's packages.config file, with the packages folder at the parent
nuget restore proj1\packages.config -PackagesDirectory ..\packages
# Restore packages for the solution in the current folder, specifying package sources
nuget restore -source "https://api.nuget.org/v3/index.json;https://www.myget.org/F/nuget"