команда restore (Интерфейс командной строки NuGet)
Область применения: потребление пакетов • Поддерживаемые версии: 2.7+
Загружает и устанавливает все пакеты, отсутствующие в папке packages
. При использовании с NuGet 4.0+ и форматом PackageReference при необходимости создается <project>.nuget.props
файл в папке obj
. (Файл может быть опущен из системы управления версиями.)
В Mac OSX и Linux с интерфейсом командной строки в Mono восстановление пакетов не поддерживается в PackageReference.
Использование
nuget restore <projectPath> [options]
где <projectPath>
указывает расположение решения или packages.config
файла. См . примечания ниже для сведений о поведении.
Параметры
-ConfigFile
Файл конфигурации NuGet для применения. Если не указано,
%AppData%\NuGet\NuGet.Config
используется (Windows) или~/.nuget/NuGet/NuGet.Config
~/.config/NuGet/NuGet.Config
(Mac/Linux).-DirectDownload
(4.0+) Загружает пакеты напрямую без заполнения кэшей двоичными файлами или метаданными.
-DisableParallelProcessing
Отключает восстановление нескольких пакетов параллельно.
-FallbackSource
(3.2+) Список источников пакетов, используемых в качестве резервных вариантов, если пакет не найден в основном или источнике по умолчанию. Используйте точку с запятой для разделения записей списка.
-Force
В проектах на основе PackageReference необходимо разрешить все зависимости, даже если последнее восстановление выполнено успешно. Указание этого флага аналогично удалению
project.assets.json
файла. Это не обходит http-кэш.-ForceEnglishOutput
(3.5+) Заставляет nuget.exe работать с использованием инвариантной и английской культуры.
-ForceEvaluate
Принудительно применяет восстановление, чтобы повторно рассчитать все зависимости, если файл блокировки уже существует.
-?|-help
Отображает сведения о справке для команды.
-LockFilePath
Расположение выходных данных для записи файла блокировки проекта. По умолчанию это
PROJECT_ROOT\packages.lock.json
.-LockedMode
Не разрешать обновление файла блокировки проекта.
-MSBuildPath
(4.0+) Указывает путь MSBuild для использования с командой, принимая приоритет над
-MSBuildVersion
.-MSBuildVersion
(3.2+) Указывает версию MSBuild для использования с этой командой. Поддерживаемые значения: 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. По умолчанию выбирается MSBuild в пути, в противном случае она по умолчанию используется для самой высокой установленной версии MSBuild.
-NoHttpCache
Запрещает NuGet использовать кэшированные пакеты HTTP. См. статью "Управление глобальными пакетами и папками кэша".
-NonInteractive
Подавляет запросы на ввод или подтверждение пользователя.
-OutputDirectory
Указывает папку, в которой установлены пакеты. Если папка не указана, используется текущая папка. Требуется при восстановлении с
packages.config
помощью файла, еслиPackagesDirectory
онSolutionDirectory
не используется.-PackageSaveMode
Указывает типы файлов, которые нужно сохранить после установки пакета: один из
nuspec
,nupkg
илиnuspec;nupkg
.-PackagesDirectory
Эквивалентно
OutputDirectory
. Требуется при восстановлении сpackages.config
помощью файла, еслиOutputDirectory
онSolutionDirectory
не используется.-Project2ProjectTimeOut
Время ожидания в секундах для разрешения ссылок между проектами.
-Recursive
(4.0+) Восстанавливает все проекты ссылок для проектов UWP и .NET Core. Не применяется к проектам с помощью
packages.config
.-RequireConsent
Проверяет, включена ли восстановление пакетов перед скачиванием и установкой пакетов. Дополнительные сведения см. в разделе "Восстановление пакетов".
-SolutionDirectory
Указывает папку решения. Недопустимо при восстановлении пакетов для решения. Требуется при восстановлении с
packages.config
помощью файла, еслиPackagesDirectory
онOutputDirectory
не используется.-Source
Указывает список источников пакетов (в качестве URL-адресов), используемых для восстановления. Если не указано, команда использует источники, предоставляемые в файлах конфигурации, см . раздел "Настройка поведения NuGet". Используйте точку с запятой для разделения записей списка.
-UseLockFile
Включает создание файла блокировки проекта и использование этого файла при восстановлении.
-Verbosity [normal|quiet|detailed]
Указывает объем сведений, отображаемых в выходных данных:
normal
(по умолчанию)quiet
илиdetailed
.
Замечания
Команда восстановления выполняет следующие действия:
Определите режим работы команды восстановления.
Тип файла projectPath Поведение Решение (папка) NuGet ищет .sln
файл и использует его при обнаружении; в противном случае возвращает ошибку.(SolutionDir)\.nuget
используется в качестве начальной папки.Файл .sln
Восстановление пакетов, определенных решением; выдает ошибку, если -SolutionDirectory
используется.$(SolutionDir)\.nuget
используется в качестве начальной папки.packages.config
или файл проектаВосстановите пакеты, перечисленные в файле, разрешая и устанавливая зависимости. Другой тип файла Предполагается, что файл является файлом .sln
, как описано выше; если это не решение, NuGet выдает ошибку.(projectPath не указан) - NuGet ищет файлы решения в текущей папке. Если найден один файл, он используется для восстановления пакетов; Если найдено несколько решений, NuGet выдает ошибку.
- Если нет файлов решения, NuGet ищет
packages.config
и использует его для восстановления пакетов. - Если решение или
packages.config
файл не найдено, NuGet выдает ошибку.
Определите папку пакетов с помощью следующего порядка приоритета (NuGet выдает ошибку, если ни одна из этих папок не найдена):
- Папка, указанная с
-PackagesDirectory
помощью . - Значение
repositoryPath
вNuget.Config
- Папка, указанная с помощью
-SolutionDirectory
$(SolutionDir)\packages
- Папка, указанная с
При восстановлении пакетов для решения NuGet выполняет следующие действия:
- Загружает файл решения.
- Восстанавливает пакеты уровня решения, перечисленные в
$(SolutionDir)\.nuget\packages.config
папкеpackages
. - Восстановите пакеты, перечисленные в
$(ProjectDir)\packages.config
папкеpackages
. Для каждого указанного пакета восстановите пакет параллельно, если-DisableParallelProcessing
не указано.
Примеры
# 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"