Udostępnij za pośrednictwem


restore command (NuGet CLI)

Dotyczy: zużycie pakietów • Obsługiwane wersje: 2.7+

Pobiera i instaluje wszystkie brakujące pakiety z packages folderu. W przypadku użycia z pakietem NuGet 4.0 lub nowszym i formatem PackageReference generuje <project>.nuget.props plik, w razie potrzeby, w folderze obj . (Plik można pominąć z kontroli źródła).

W systemach Mac OSX i Linux z interfejsem wiersza polecenia w trybie Mono przywracanie pakietów nie jest obsługiwane przy użyciu funkcji PackageReference.

Użycie

nuget restore <projectPath> [options]

gdzie <projectPath> określa lokalizację rozwiązania lub packages.config pliku. Zobacz uwagi poniżej, aby uzyskać szczegółowe informacje o zachowaniu.

Opcje

  • -ConfigFile

    Plik konfiguracji NuGet do zastosowania. Jeśli nie zostanie określony, %AppData%\NuGet\NuGet.Config (Windows) lub ~/.config/NuGet/NuGet.Config~/.nuget/NuGet/NuGet.Config (Mac/Linux) zostanie użyty.

  • -DirectDownload

    (4.0+) Pobiera pakiety bezpośrednio bez wypełniania pamięci podręcznych z żadnymi plikami binarnymi lub metadanymi.

  • -DisableParallelProcessing

    Wyłącza przywracanie wielu pakietów równolegle.

  • -FallbackSource

    (3.2+) Lista źródeł pakietów, które mają być używane jako rezerwowe w przypadku, gdy pakiet nie zostanie znaleziony w podstawowym lub domyślnym źródle. Użyj średnika, aby oddzielić wpisy listy.

  • -Force

    W projektach opartych na elemencie PackageReference wymusza rozwiązanie wszystkich zależności, nawet jeśli ostatnie przywracanie zakończyło się pomyślnie. Określenie tej flagi jest podobne do usuwania project.assets.json pliku. Nie pomija to pamięci podręcznej http.

  • -ForceEnglishOutput

    (3,5+) Wymusza nuget.exe uruchamiania przy użyciu niezmiennej kultury opartej na języku angielskim.

  • -ForceEvaluate

    Wymusza przywrócenie w celu ponownego oceny wszystkich zależności, nawet jeśli plik blokady już istnieje.

  • -?|-help

    Wyświetla informacje pomocy dotyczące polecenia .

  • -LockFilePath

    Lokalizacja wyjściowa, w której jest zapisywany plik blokady projektu. Domyślnie jest PROJECT_ROOT\packages.lock.jsonto .

  • -LockedMode

    Nie zezwalaj na aktualizowanie pliku blokady projektu.

  • -MSBuildPath

    (4.0+) Określa ścieżkę msBuild do użycia z poleceniem, pierwszeństwo przed -MSBuildVersion.

  • -MSBuildVersion

    (3.2+) Określa wersję programu MSBuild, która ma być używana z tym poleceniem. Obsługiwane wartości to 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Domyślnie program MSBuild w ścieżce jest wybierany, w przeciwnym razie domyślnie jest to najwyższa zainstalowana wersja programu MSBuild.

  • -NoHttpCache

    Uniemożliwia korzystanie z pakietów nuGet z pamięci podręcznej http. Zobacz Zarządzanie pakietami globalnymi i folderami pamięci podręcznej.

  • -NonInteractive

    Pomija monity dotyczące danych wejściowych lub potwierdzanych przez użytkownika.

  • -OutputDirectory

    Określa folder, w którym są instalowane pakiety. Jeśli nie określono żadnego folderu, używany jest bieżący folder. Wymagane podczas przywracania za pomocą packages.config pliku, chyba że PackagesDirectory jest używany lub SolutionDirectory jest używany.

  • -PackageSaveMode

    Określa typy plików do zapisania po instalacji pakietu: jeden z nuspec, nupkglub nuspec;nupkg.

  • -PackagesDirectory

    Tak samo jak OutputDirectory. Wymagane podczas przywracania za pomocą packages.config pliku, chyba że OutputDirectory jest używany lub SolutionDirectory jest używany.

  • -Project2ProjectTimeOut

    Limit czasu w sekundach na potrzeby rozpoznawania odwołań do projektu.

  • -Recursive

    (4.0+) Przywraca wszystkie odwołania do projektów platform UWP i .NET Core. Nie ma zastosowania do projektów przy użyciu polecenia packages.config.

  • -RequireConsent

    Sprawdza, czy przywracanie pakietów jest włączone przed pobraniem i zainstalowaniem pakietów. Aby uzyskać szczegółowe informacje, zobacz Przywracanie pakietów.

  • -SolutionDirectory

    Określa folder rozwiązania. Nieprawidłowe podczas przywracania pakietów dla rozwiązania. Wymagane podczas przywracania za pomocą packages.config pliku, chyba że PackagesDirectory jest używany lub OutputDirectory jest używany.

  • -Source

    Określa listę źródeł pakietów (jako adresy URL) do użycia na potrzeby przywracania. Jeśli pominięto, polecenie używa źródeł podanych w plikach konfiguracji, zobacz Konfigurowanie zachowania narzędzia NuGet. Użyj średnika, aby oddzielić wpisy listy.

  • -UseLockFile

    Umożliwia wygenerowanie i użycie pliku blokady projektu z przywracaniem.

  • -Verbosity [normal|quiet|detailed]

    Określa ilość szczegółów wyświetlanych w danych wyjściowych: normal (wartość domyślna), quietlub detailed.

Zobacz też Zmienne środowiskowe

Uwagi

Polecenie przywracania wykonuje następujące kroki:

  1. Określ tryb operacji polecenia przywracania.

    typ pliku projectPath Zachowanie
    Rozwiązanie (folder) Narzędzie NuGet wyszukuje .sln plik i używa go w przypadku znalezienia; w przeciwnym razie występuje błąd. (SolutionDir)\.nuget jest używany jako folder początkowy.
    Plik .sln Przywracanie pakietów zidentyfikowanych przez rozwiązanie; zwraca błąd, jeśli -SolutionDirectory jest używany. $(SolutionDir)\.nuget jest używany jako folder początkowy.
    packages.config lub plik projektu Przywracanie pakietów wymienionych w pliku, rozpoznawanie i instalowanie zależności.
    Inny typ pliku Przyjmuje się, że plik jest plikiem .sln tak jak powyżej; jeśli nie jest to rozwiązanie, pakiet NuGet zgłasza błąd.
    (nie określono ścieżki projektu)
    • NuGet wyszukuje pliki rozwiązania w bieżącym folderze. Jeśli zostanie znaleziony pojedynczy plik, zostanie użyty do przywrócenia pakietów; Jeśli znaleziono wiele rozwiązań, narzędzie NuGet zwraca błąd.
    • Jeśli nie ma plików rozwiązania, nuGet szuka elementu packages.config i używa go do przywracania pakietów.
    • Jeśli nie zostanie znalezione żadne rozwiązanie lub packages.config plik, program NuGet zgłosi błąd.
  2. Określ folder packages przy użyciu następującej kolejności priorytetu (NuGet daje błąd, jeśli żaden z tych folderów nie zostanie znaleziony):

    • Folder określony za pomocą -PackagesDirectorypolecenia .
    • Wartość repositoryPath w Nuget.Config
    • Folder określony za pomocą polecenia -SolutionDirectory
    • $(SolutionDir)\packages
  3. Podczas przywracania pakietów dla rozwiązania program NuGet wykonuje następujące czynności:

    • Ładuje plik rozwiązania.
    • Przywraca pakiety na poziomie rozwiązania wymienione w $(SolutionDir)\.nuget\packages.config folderze packages .
    • Przywróć pakiety wymienione w $(ProjectDir)\packages.config folderze packages . Dla każdego określonego pakietu przywróć pakiet równolegle, chyba że -DisableParallelProcessing zostanie określony.

Przykłady

# 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"