dotnet restoredotnet restore

Este tópico aplica-se ao: ✓ SDK do .NET Core 1.x SDK do .NET Core 2.xThis topic applies to: ✓ .NET Core 1.x SDK .NET Core 2.x SDK

NomeName

dotnet restore – Restaura as dependências e as ferramentas de um projeto.dotnet restore - Restores the dependencies and tools of a project.

SinopseSynopsis

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]

DESCRIÇÃODescription

O comando dotnet restore usa o NuGet para restaurar as dependências e ferramentas específicas de projeto especificadas no arquivo de projeto.The dotnet restore command uses NuGet to restore dependencies as well as project-specific tools that are specified in the project file. Por padrão, a restauração das dependências e as ferramentas são executadas em paralelo.By default, the restoration of dependencies and tools are executed in parallel.

Observação

Começando com o SDK do .NET Core 2.0, não é necessário executar dotnet restore, pois ele é executado implicitamente por todos os comandos que exigem uma restauração, como dotnet new, dotnet build e 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. Ainda é um comando válido em determinados cenários em que realizar uma restauração explícita faz sentido, como builds de integração contínua no Azure DevOps Services ou em sistemas de build que precisam controlar explicitamente o horário em que a restauração ocorrerá.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.

Para restaurar as dependências, o NuGet precisa dos feeds nos quais os pacotes estão localizados.To restore the dependencies, NuGet needs the feeds where the packages are located. Os feeds são geralmente fornecidos por meio do arquivo de configuração nuget.config.Feeds are usually provided via the nuget.config configuration file. Um arquivo de configuração padrão é fornecido quando as ferramentas da CLI são instaladas.A default configuration file is provided when the CLI tools are installed. Especifique mais feeds criando seu próprio arquivo nuget.config no diretório do projeto.You specify additional feeds by creating your own nuget.config file in the project directory. Também é possível especificar outros feeds por invocação em um prompt de comando.You also specify additional feeds per invocation at a command prompt.

Para dependências, especifique onde os pacotes restaurados são colocados durante a operação de restauração usando o argumento --packages.For dependencies, you specify where the restored packages are placed during the restore operation using the --packages argument. Se não é especificado, o cache do pacote NuGet padrão é usado, o qual pode ser encontrado no diretório .nuget/packages do diretório base do usuário em todos os sistemas operacionais.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. Por exemplo, /home/user1 no Linux ou C:\Usuário\user1 no Windows.For example, /home/user1 on Linux or C:\Users\user1 on Windows.

Para ferramentas específicas do projeto, o dotnet restore primeiro restaura o pacote no qual a ferramenta foi empacotada e prossegue com a restauração das dependências da ferramenta conforme especificado no seu arquivo de projeto.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.

Diferenças do nuget.confignuget.config differences

O comportamento do comando dotnet restore será afetado pelas configurações no arquivo nuget.config, se estiver presente.The behavior of the dotnet restore command is affected by the settings in the nuget.config file, if present. Por exemplo, a definição da globalPackagesFolder em nuget.config coloca os pacotes NuGet restaurados na pasta especificada.For example, setting the globalPackagesFolder in nuget.config places the restored NuGet packages in the specified folder. Essa é uma alternativa para especificar a opção --packages no comando dotnet restore.This is an alternative to specifying the --packages option on the dotnet restore command. Para obter mais informações, confira a Referência do nuget.config.For more information, see the nuget.config reference.

Há três configurações específicas que são ignoradas por dotnet restore:There are three specific settings that dotnet restore ignores:

  • bindingRedirectsbindingRedirects

    Os redirecionamentos de associação não funcionam com elementos <PackageReference> e o .NET Core só dá suporte a elementos <PackageReference> em pacotes NuGet.Binding redirects don't work with <PackageReference> elements and .NET Core only supports <PackageReference> elements for NuGet packages.

  • solutionsolution

    Essa configuração é específica do Visual Studio e não se aplica ao .NET Core.This setting is Visual Studio specific and doesn't apply to .NET Core. O .NET Core não usa um arquivo packages.config e, em vez disso, usa elementos <PackageReference> para pacotes NuGet..NET Core doesn't use a packages.config file and instead uses <PackageReference> elements for NuGet packages.

  • trustedSignerstrustedSigners

    Essa configuração não é aplicável, pois o NuGet ainda não dá suporte à verificação de multiplataforma de pacotes confiáveis.This setting isn't applicable as NuGet doesn't yet support cross-platform verification of trusted packages.

dotnet restore implícitoImplicit dotnet restore

Começando com o .NET Core 2.0, se necessário, o dotnet restore será executado implicitamente quando você executar os comandos a seguir:Starting with .NET Core 2.0, dotnet restore is run implicitly if necessary when you issue the following commands:

Na maioria dos casos, você não precisa usar o comando dotnet restore explicitamente.In most cases, you no longer need to explicitly use the dotnet restore command.

Às vezes, pode ser inconveniente executar dotnet restore implicitamente.Sometimes, it might be inconvenient to run dotnet restore implicitly. Por exemplo, alguns sistemas automatizados, como os sistemas de compilação, precisam chamar o dotnet restore explicitamente para controlar o momento em que a restauração ocorre para que possam controlar o uso de rede.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. Para evitar que o dotnet restore seja executado implicitamente, use o sinalizador --no-restore com um desses comandos para desabilitar a restauração implícita.To prevent dotnet restore from running implicitly, you can use the --no-restore flag with any of these commands to disable implicit restore.

ArgumentsArguments

ROOT

Caminho opcional para o arquivo de projeto a ser restaurado.Optional path to the project file to restore.

OpçõesOptions

--configfile <FILE>

O arquivo de configuração NuGet (nuget.config) a ser usado para a operação de restauração.The NuGet configuration file (nuget.config) to use for the restore operation.

--disable-parallel

Desabilita a restauração de vários projetos paralelamente.Disables restoring multiple projects in parallel.

--force

Forçará todas as dependências a serem resolvidas mesmo se última restauração tiver sido bem-sucedida.Forces all dependencies to be resolved even if the last restore was successful. A especificação desse sinalizador é o mesmo que a exclusão do arquivo project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Imprime uma ajuda breve para o comando.Prints out a short help for the command.

--ignore-failed-sources

Avise somente sobre fontes com falha se houver pacotes que atendem ao requisito de versão.Only warn about failed sources if there are packages meeting the version requirement.

--no-cache

Especifica para não armazenar os pacotes e solicitações HTTP em cache.Specifies to not cache packages and HTTP requests.

--no-dependencies

Ao restaurar um projeto com referências de P2P (projeto a projeto), restaura o projeto raiz, não as referências.When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

--packages <PACKAGES_DIRECTORY>

Especifica o diretório para os pacotes restaurados.Specifies the directory for restored packages.

-r|--runtime <RUNTIME_IDENTIFIER>

Especifica um tempo de execução para a restauração do pacote.Specifies a runtime for the package restore. Isso é usado para restaurar pacotes para tempos de execução não listados explicitamente na marca <RuntimeIdentifiers> no arquivo .csproj.This is used to restore packages for runtimes not explicitly listed in the <RuntimeIdentifiers> tag in the .csproj file. Para obter uma lista de RIDs (Identificadores de Tempo de Execução), veja o Catálogo de RIDs.For a list of Runtime Identifiers (RIDs), see the RID catalog. Forneça diversas RIDs especificando essa opção várias vezes.Provide multiple RIDs by specifying this option multiple times.

-s|--source <SOURCE>

Especifica uma origem de pacote NuGet a ser usada durante a operação de restauração.Specifies a NuGet package source to use during the restore operation. Essa configuração substitui todas as fontes especificadas nos arquivos nuget.config.This setting overrides all of the sources specified in the nuget.config files. Diversas fontes podem ser fornecidas especificando essa opção várias vezes.Multiple sources can be provided by specifying this option multiple times.

--verbosity <LEVEL>

Define o nível de detalhes do comando.Sets the verbosity level of the command. Os valores permitidos são q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

--interactive

Permite que o comando pare e aguarde a entrada ou uma ação do usuário (por exemplo, para concluir a autenticação).Allows the command to stop and wait for user input or action (for example to complete authentication). A partir do .NET Core 2.1.400.Since .NET Core 2.1.400.

ExemplosExamples

Restaure as dependências e as ferramentas para o projeto no diretório atual:Restore dependencies and tools for the project in the current directory:

dotnet restore

Restaure as dependências e as ferramentas para o projeto app1 encontrado no caminho fornecido:Restore dependencies and tools for the app1 project found in the given path:

dotnet restore ~/projects/app1/app1.csproj

Restaure as dependências e as ferramentas para o projeto no diretório atual usando o caminho de arquivo fornecido como a fonte: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

Restaure as dependências e as ferramentas para o projeto no diretório atual usando os caminhos dos dois arquivos fornecidos como fontes: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

Restaure as dependências e as ferramentas do projeto no diretório atual e mostre apenas a saída mínima:Restore dependencies and tools for the project in the current directory and shows only minimal output:

dotnet restore --verbosity minimal