Freigeben über


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 nicht PackagesDirectory oder SolutionDirectory verwendet wird.

  • -PackageSaveMode

    Gibt die Dateitypen an, die nach der Paketinstallation gespeichert werden sollen: eine der Optionen nuspec, nupkg, oder nuspec;nupkg.

  • -PackagesDirectory

    Wie in OutputDirectory. Erforderlich bei der Wiederherstellung mit einer packages.config-Datei, sofern nicht OutputDirectory oder SolutionDirectory 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 nicht PackagesDirectory oder OutputDirectory 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 oder detailed.

Weitere Informationen finden Sie unter Umgebungsvariablen

Hinweise

Mit dem Wiederherstellungsbefehl werden die folgenden Aktionen ausgeführt:

  1. 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-Datei Wiederherstellen der von der Lösung identifizierten Pakete; gibt einen Fehler, wenn -SolutionDirectory verwendet wird. $(SolutionDir)\.nuget wird als Startordner verwendet.
    packages.config oder Projektdatei Wiederherstellen 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.
  2. 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 ist Nuget.Config
    • Der mit -SolutionDirectory angegebene Ordner
    • $(SolutionDir)\packages
  3. 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 Ordner packages wieder her.
    • Stellen Sie die in $(ProjectDir)\packages.config aufgeführten Pakete in den Ordner packages 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"