dotnet restoredotnet restore

Dieses Thema gilt für: ✓ .NET Core 1.x SDK .NET Core 2.x SDKThis topic applies to: ✓ .NET Core 1.x SDK .NET Core 2.x SDK

nameName

dotnet restore: Stellt die Abhängigkeiten und Tools eines Projekts wieder herdotnet restore - Restores the dependencies and tools of a project.

ÜbersichtSynopsis

dotnet restore [<ROOT>] [--configfile] [--disable-parallel] [--force] [--ignore-failed-sources] [--no-cache]
    [--no-dependencies] [--packages] [-r|--runtime] [-s|--source] [-v|--verbosity] [--interactive]
dotnet restore [-h|--help]

BESCHREIBUNGDescription

Der Befehl dotnet restore verwendet NuGet zum Wiederherstellen von Abhängigkeiten sowie projektspezifischen Tools, die in der Projektdatei angegeben sind.The dotnet restore command uses NuGet to restore dependencies as well as project-specific tools that are specified in the project file. Die Wiederherstellung von Abhängigkeiten und Tools wird standardmäßig parallel ausgeführt.By default, the restoration of dependencies and tools are executed in parallel.

Hinweis

Ab .NET Core 2.0 SDK müssen Sie dotnet restore nicht mehr ausführen, da der Befehl implizit von allen Befehlen, z.B. dotnet new, dotnet build und dotnet run, ausgeführt wird, die eine Wiederherstellung erfordern.Starting with .NET Core 2.0 SDK, you don't have to run dotnet restore because it's run implicitly by all commands that require a restore to occur, such as dotnet new, dotnet build and dotnet run. In bestimmten Fällen eignet sich der Befehl dennoch. Dies ist etwa bei Szenarios der Fall, in denen das Ausführen einer expliziten Wiederherstellung sinnvoll ist. Beispiele hierfür sind Continuous Integration-Builds in Azure DevOps Services oder Buildsystemen, die den Zeitpunkt für die Wiederherstellung explizit festlegen müssen.It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Azure DevOps Services or in build systems that need to explicitly control the time at which the restore occurs.

Zum Wiederherstellen der Abhängigkeiten benötigt NuGet die Feeds, wo sich die Pakete befinden.To restore the dependencies, NuGet needs the feeds where the packages are located. Feeds werden normalerweise über die nuget.config-Konfigurationsdatei bereitgestellt.Feeds are usually provided via the nuget.config configuration file. Eine standardmäßige Konfigurationsdatei wird bereitgestellt, wenn die CLI-Tools installiert sind.A default configuration file is provided when the CLI tools are installed. Sie geben zusätzliche Feeds an, indem Sie eine eigene nuget.config-Datei im Projektverzeichnis erstellen.You specify additional feeds by creating your own nuget.config file in the project directory. Sie können auch zusätzliche Feeds pro Aufruf an der Eingabeaufforderung angeben.You also specify additional feeds per invocation at a command prompt.

Für Abhängigkeiten geben Sie mithilfe des Arguments --packages an, wo die wiederhergestellten Pakete während der Wiederherstellung platziert werden.For dependencies, you specify where the restored packages are placed during the restore operation using the --packages argument. Wenn nichts angegeben wurde, wird der Standardcache des NuGet-Pakets verwendet. Er befindet sich im Verzeichnis .nuget/packages im Basisverzeichnis des Benutzers auf allen Betriebssystemen.If not specified, the default NuGet package cache is used, which is found in the .nuget/packages directory in the user's home directory on all operating systems. Zum Beispiel /home/user1 unter Linux oder C:\Users\user1 unter Windows.For example, /home/user1 on Linux or C:\Users\user1 on Windows.

Für projektspezifische Tools stellt dotnet restore zunächst das Paket wieder her, in dem sich das Tool befindet, und danach die Abhängigkeiten des Tools gemäß seiner Projektdatei.For project-specific tooling, dotnet restore first restores the package in which the tool is packed, and then proceeds to restore the tool's dependencies as specified in its project file.

Unterschiede bei „nuget.config“nuget.config differences

Das Verhalten des Befehls dotnet restore wird durch Einstellungen in der nuget.config-Datei (falls vorhanden) beeinflusst.The behavior of the dotnet restore command is affected by the settings in the nuget.config file, if present. Das Festlegen von globalPackagesFolder in nuget.config platziert z. B. die wiederhergestellten NuGet-Pakete in den angegebenen Ordner.For example, setting the globalPackagesFolder in nuget.config places the restored NuGet packages in the specified folder. Dies ist eine Alternative zur Angabe der Option --packages im dotnet restore-Befehl.This is an alternative to specifying the --packages option on the dotnet restore command. Weitere Informationen finden Sie in der Referenz zu „nuget.config“.For more information, see the nuget.config reference.

Es gibt drei bestimmte Einstellungen, die von dotnet restore ignoriert werden:There are three specific settings that dotnet restore ignores:

  • bindingRedirectsbindingRedirects

    Bindungsumleitungen funktionieren nicht mit <PackageReference>-Elementen, und .NET Core unterstützt nur <PackageReference>-Elemente für NuGet-Pakete.Binding redirects don't work with <PackageReference> elements and .NET Core only supports <PackageReference> elements for NuGet packages.

  • solutionsolution

    Diese Einstellung ist spezifisch für Visual Studio und gilt nicht für .NET Core.This setting is Visual Studio specific and doesn't apply to .NET Core. .NET Core verwendet keine packages.config-Datei, aber stattdessen <PackageReference>-Elemente für NuGet-Pakete..NET Core doesn't use a packages.config file and instead uses <PackageReference> elements for NuGet packages.

  • trustedSignerstrustedSigners

    Diese Einstellung ist nicht anwendbar, da NuGet noch keine plattformübergreifende Überprüfung vertrauenswürdiger Pakete unterstützt.This setting isn't applicable as NuGet doesn't yet support cross-platform verification of trusted packages.

Impliziter dotnet restoreImplicit dotnet restore

Ab .NET Core 2.0 wird dotnet restore bei Bedarf implizit ausgeführt, wenn Sie die folgenden Befehle ausführen:Starting with .NET Core 2.0, dotnet restore is run implicitly if necessary when you issue the following commands:

In den meisten Fällen müssen Sie den dotnet restore-Befehl nicht länger explizit verwenden.In most cases, you no longer need to explicitly use the dotnet restore command.

In manchen Fällen kann es sich als unpraktisch erweisen, dotnet restore implizit auszuführen.Sometimes, it might be inconvenient to run dotnet restore implicitly. Zum Beispiel müssen einige automatisierte Systeme, wie etwa Buildsysteme, dotnet restore explizit aufrufen, um zu kontrollieren, wann die Wiederherstellung stattfindet, damit sie die Netzwerknutzung steuern können.For example, some automated systems, such as build systems, need to call dotnet restore explicitly to control when the restore occurs so that they can control network usage. Sie können das Flag --no-restore mit einem beliebigen Befehl aus dieser Reihe verwenden, um die implizite Wiederherstellung zu deaktivieren und eine implizite Ausführung von dotnet restore zu verhindern.To prevent dotnet restore from running implicitly, you can use the --no-restore flag with any of these commands to disable implicit restore.

ArgumenteArguments

ROOT

Optionaler Pfad zur wiederherzustellenden Projektdatei.Optional path to the project file to restore.

OptionenOptions

--configfile <FILE>

Die NuGet-Konfigurationsdatei (nuget.config) für den Wiederherstellungsvorgang.The NuGet configuration file (nuget.config) to use for the restore operation.

--disable-parallel

Deaktiviert paralleles Erstellen von mehreren Projekten.Disables restoring multiple projects in parallel.

--force

Erzwingt das Auflösen aller Abhängigkeiten, auch wenn die letzte Wiederherstellung erfolgreich war.Forces all dependencies to be resolved even if the last restore was successful. Dieses Flag anzugeben, entspricht dem Löschen der Datei project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Druckt eine kurze Hilfe für den Befehl.Prints out a short help for the command.

--ignore-failed-sources

Bei fehlerhaften Quellen nur warnen, wenn Pakete die Versionsanforderung erfüllen.Only warn about failed sources if there are packages meeting the version requirement.

--no-cache

Gibt an, dass Pakete und HTTP-Anfragen nicht zwischengespeichert werden.Specifies to not cache packages and HTTP requests.

--no-dependencies

Wenn Sie ein Projekt mit Projekt-zu-Projekt-Verweisen (P2P) wiederherstellen, stellen Sie das Stammprojekt wieder her und nicht die Verweise.When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

--packages <PACKAGES_DIRECTORY>

Gibt das Verzeichnis für wiederhergestellte Pakete an.Specifies the directory for restored packages.

-r|--runtime <RUNTIME_IDENTIFIER>

Gibt eine Laufzeit für die Wiederherstellung des Pakets an.Specifies a runtime for the package restore. Wird für das Wiederherstellen von Paketen für Laufzeiten verwendet, die nicht explizit im <RuntimeIdentifiers>-Tag in der .csproj-Datei aufgeführt sind.This is used to restore packages for runtimes not explicitly listed in the <RuntimeIdentifiers> tag in the .csproj file. Eine Liste der Runtime-IDs (RIDs) finden Sie unter RID-Katalog.For a list of Runtime Identifiers (RIDs), see the RID catalog. Es können mehrere RIDs bereitgestellt werden, indem diese Option mehrmals angegeben wird.Provide multiple RIDs by specifying this option multiple times.

-s|--source <SOURCE>

Gibt eine NuGet-Paketquelle an, die während des Wiederherstellungsvorgangs zu verwenden ist.Specifies a NuGet package source to use during the restore operation. Diese Einstellung überschreibt alle Quellen, die in den nuget.config-Dateien angegeben sind.This setting overrides all of the sources specified in the nuget.config files. Es können mehrere Quellen bereitgestellt werden, indem diese Option mehrmals angegeben wird.Multiple sources can be provided by specifying this option multiple times.

--verbosity <LEVEL>

Legt den Ausführlichkeitsgrad für den Befehl fest.Sets the verbosity level of the command. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

--interactive

Ermöglicht dem Befehl, anzuhalten und auf Benutzereingaben oder Aktionen zu warten (z.B. um die Authentifizierung abzuschließen).Allows the command to stop and wait for user input or action (for example to complete authentication). Ab .NET Core 2.1.400.Since .NET Core 2.1.400.

BeispieleExamples

Wiederherstellen von Abhängigkeiten und Tools für das Projekt im aktuellen Verzeichnis:Restore dependencies and tools for the project in the current directory:

dotnet restore

Wiederherstellen von Abhängigkeiten und Tools für das Projekt app1 im vorgegebenen Pfad:Restore dependencies and tools for the app1 project found in the given path:

dotnet restore ~/projects/app1/app1.csproj

Wiederherstellen der Abhängigkeiten und Tools für das Projekt im aktuellen Verzeichnis mit dem bereitgestellten Dateipfad als Quelle:Restore the dependencies and tools for the project in the current directory using the file path provided as the source:

dotnet restore -s c:\packages\mypackages

Wiederherstellen der Abhängigkeiten und Tools für das Projekt im aktuellen Verzeichnis mit den beiden bereitgestellten Dateipfaden als Quellen:Restore the dependencies and tools for the project in the current directory using the two file paths provided as sources:

dotnet restore -s c:\packages\mypackages -s c:\packages\myotherpackages

Wiederherstellen von Abhängigkeiten und Tools für das Projekt im aktuellen Verzeichnis und nur Anzeige von nur minimaler Ausgabe:Restore dependencies and tools for the project in the current directory and shows only minimal output:

dotnet restore --verbosity minimal