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.json
to .-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 żePackagesDirectory
jest używany lubSolutionDirectory
jest używany.-PackageSaveMode
Określa typy plików do zapisania po instalacji pakietu: jeden z
nuspec
,nupkg
lubnuspec;nupkg
.-PackagesDirectory
Tak samo jak
OutputDirectory
. Wymagane podczas przywracania za pomocąpackages.config
pliku, chyba żeOutputDirectory
jest używany lubSolutionDirectory
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 żePackagesDirectory
jest używany lubOutputDirectory
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),quiet
lubdetailed
.
Zobacz też Zmienne środowiskowe
Uwagi
Polecenie przywracania wykonuje następujące kroki:
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 projektuPrzywracanie 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.
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ą
-PackagesDirectory
polecenia . - Wartość
repositoryPath
wNuget.Config
- Folder określony za pomocą polecenia
-SolutionDirectory
$(SolutionDir)\packages
- Folder określony za pomocą
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
folderzepackages
. - Przywróć pakiety wymienione w
$(ProjectDir)\packages.config
folderzepackages
. 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"