dotnet restoredotnet restore

Этот раздел применим к: ✓Пакет SDK для .NET Core 1.xПакет SDK для .NET Core 2.xThis topic applies to: ✓ .NET Core 1.x SDK .NET Core 2.x SDK

nameName

dotnet restore — восстанавливает зависимости и средства проекта.dotnet restore - Restores the dependencies and tools of a project.

Краткий обзорSynopsis

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]

ОписаниеDescription

Команда dotnet restore использует NuGet для восстановления зависимостей, а также связанных с проектом средств, которые указаны в файле проекта.The dotnet restore command uses NuGet to restore dependencies as well as project-specific tools that are specified in the project file. По умолчанию восстановление зависимостей и средств производится параллельно.By default, the restoration of dependencies and tools are executed in parallel.

Примечание

Начиная с пакета SDK для .NET Core 2.0 нет необходимости выполнять команду dotnet restore, так как она выполняется неявно всеми командами, которые требуют восстановления, например dotnet new, dotnet build и dotnet run.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. Эту команду по-прежнему можно использовать в некоторых сценариях, где необходимо явное восстановление, например в сборках с использованием непрерывной интеграции в Azure DevOps Services или системах сборки, где требуется явно контролировать время восстановления.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.

Для восстановления зависимостей NuGet требуются каналы, где находятся пакеты.To restore the dependencies, NuGet needs the feeds where the packages are located. Каналы обычно предоставляются посредством файла конфигурации NuGet.config.Feeds are usually provided via the NuGet.config configuration file. Файл конфигурации по умолчанию предоставляется при установке средств CLI.A default configuration file is provided when the CLI tools are installed. Вы можете указать дополнительные веб-каналы, создав собственный файл NuGet.config в каталоге проекта.You specify additional feeds by creating your own NuGet.config file in the project directory. Можно также указать дополнительные веб-каналы на вызов из командной строки.You also specify additional feeds per invocation at a command prompt.

Для зависимостей можно указать, куда помещаются восстанавливаемые пакеты во время операции восстановления, с помощью аргумента --packages.For dependencies, you specify where the restored packages are placed during the restore operation using the --packages argument. Если значение не указано, используется кэш пакетов NuGet по умолчанию. Он находится в каталоге .nuget/packages в домашнем каталоге пользователя во всех операционных системах.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. Например, /home/user1 на Linux или C:\Users\user1 в Windows.For example, /home/user1 on Linux or C:\Users\user1 on Windows.

Для связанных с проектом средств dotnet restore сначала восстанавливает пакет, в котором упаковано средство, а затем — зависимости средства, указанные в файле проекта.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.

На поведение команды dotnet restore влияют некоторые из параметров в файле Nuget.Config, если он существует.The behavior of the dotnet restore command is affected by some of the settings in the Nuget.Config file, if present. Например, если установить параметр globalPackagesFolder в файле NuGet.Config, то восстановленные пакеты NuGet будут помещены в указанную папку.For example, setting the globalPackagesFolder in NuGet.Config places the restored NuGet packages in the specified folder. Для получения того же результата можно указать параметр --packages команды dotnet restore.This is an alternative to specifying the --packages option on the dotnet restore command. Дополнительные сведения см. в справочнике по файлу NuGet.Config.For more information, see the NuGet.Config reference.

Неявное выполнение dotnet restoreImplicit dotnet restore

Начиная с версии .NET Core 2.0, команда dotnet restore выполняется неявно при выполнении следующих команд:Starting with .NET Core 2.0, dotnet restore is run implicitly if necessary when you issue the following commands:

В большинстве случаев использовать команду dotnet restore явным образом не требуется.In most cases, you no longer need to explicitly use the dotnet restore command.

Иногда неудобно запускать dotnet restore неявным образом.Sometimes, it might be inconvenient to run dotnet restore implicitly. Например, некоторые автоматизированные системы, такие как системы сборки, должны явно вызывать dotnet restore, чтобы контролировать процесс восстановления и, следовательно, отслеживать использование сетевых ресурсов.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. Чтобы избежать неявного выполнения команды dotnet restore, с любой из приведенных выше команд можно использовать флаг --no-restore для отключения неявного восстановления.To prevent dotnet restore from running implicitly, you can use the --no-restore flag with any of these commands to disable implicit restore.

АргументыArguments

ROOT

Дополнительный путь к файлу проекта для восстановления.Optional path to the project file to restore.

ПараметрыOptions

--configfile <FILE>

Файл конфигурации NuGet (NuGet.config), используемый для операции восстановления.The NuGet configuration file (NuGet.config) to use for the restore operation.

--disable-parallel

Отключает параллельное восстановление нескольких проектов.Disables restoring multiple projects in parallel.

--force

Принудительное разрешение всех зависимостей, даже если последнее восстановление прошло успешно.Forces all dependencies to be resolved even if the last restore was successful. Указание этого флага дает тот же результат, что удаление файла project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Выводит краткую справку по команде.Prints out a short help for the command.

--ignore-failed-sources

Предупреждение о сбоях источников выдается только при наличии пакетов, соответствующих требованию к версии.Only warn about failed sources if there are packages meeting the version requirement.

--no-cache

Отключает кэширование пакетов и HTTP-запросов.Specifies to not cache packages and HTTP requests.

--no-dependencies

При восстановлении проекта с перекрестными ссылками между проектами восстанавливает только корневой проект, но не ссылки.When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

--packages <PACKAGES_DIRECTORY>

Задает каталог для восстановленных пакетов.Specifies the directory for restored packages.

-r|--runtime <RUNTIME_IDENTIFIER>

Задает среду выполнения для восстановления пакетов.Specifies a runtime for the package restore. Это позволяет восстановить пакеты для сред выполнения, явно не указанных в теге <RuntimeIdentifiers> файла CSPROJ.This is used to restore packages for runtimes not explicitly listed in the <RuntimeIdentifiers> tag in the .csproj file. Список идентификаторов сред выполнения (RID) см. в каталоге RID.For a list of Runtime Identifiers (RIDs), see the RID catalog. Чтобы указать несколько идентификаторов RID, задайте этот параметр несколько раз.Provide multiple RIDs by specifying this option multiple times.

-s|--source <SOURCE>

Указывает источник пакета NuGet для использования во время операции восстановления.Specifies a NuGet package source to use during the restore operation. Этот параметр переопределяет все источники, указанные в файлах NuGet.config.This setting overrides all of the sources specified in the NuGet.config files. Чтобы указать несколько источников, задайте этот параметр несколько раз.Multiple sources can be provided by specifying this option multiple times.

--verbosity <LEVEL>

Задает уровень детализации команды.Sets the verbosity level of the command. Допустимые значения: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

--interactive

Позволяет остановить команду и дождаться, пока пользователь введет данные или выполнит действие (например, завершит проверку подлинности).Allows the command to stop and wait for user input or action (for example to complete authentication). Начиная с .NET Core 2.1.400.Since .NET Core 2.1.400.

ПримерыExamples

Восстановление зависимостей и средств для проекта в текущем каталоге:Restore dependencies and tools for the project in the current directory:

dotnet restore

Восстановление зависимостей и средств для проекта app1 по указанному пути:Restore dependencies and tools for the app1 project found in the given path:

dotnet restore ~/projects/app1/app1.csproj

Восстановление зависимостей и средств для проекта в текущем каталоге с использованием пути к файлу, заданного в качестве источника: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

Восстановление зависимостей и средств для проекта в текущем каталоге с использованием двух путей к файлу, заданных в качестве источника: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

Восстановление зависимостей и средств для проекта в текущем каталоге с выводом минимального объема выходных данных:Restore dependencies and tools for the project in the current directory and shows only minimal output:

dotnet restore --verbosity minimal