comando restore (CLI do NuGet)
Aplica-se a: consumo de pacotes • Versões compatíveis: 2.7+
Faz download e instala todos os pacotes ausentes da pasta packages
. Quando usado com o NuGet 4.0+ e o formato PackageReference, gera um arquivo <project>.nuget.props
, se necessário, na pasta obj
. (O arquivo pode ser omitido do controle do código-fonte.)
No Mac OSX e Linux com a CLI no Mono, a restauração de pacotes não é compatível com o PackageReference.
Uso
nuget restore <projectPath> [options]
em que <projectPath>
especifica o local de uma solução ou de um arquivo packages.config
. Confira os Comentários abaixo para obter os detalhes comportamentais.
Opções
-ConfigFile
O arquivo de configuração do NuGet a ser aplicado. Se não for especificado,
%AppData%\NuGet\NuGet.Config
(Windows),~/.nuget/NuGet/NuGet.Config
ou~/.config/NuGet/NuGet.Config
(Mac/Linux) será usado.-DirectDownload
(4.0+) Faz o download diretamente sem popular nenhum cache com metadados ou binários.
-DisableParallelProcessing
Desabilita a restauração de vários pacotes em paralelo.
-FallbackSource
(3.2+) Uma lista de origens de pacote a serem usadas como fallbacks caso o pacote não seja encontrado na origem primária ou padrão. Use um ponto-e-vírgula para separar as entradas da lista.
-Force
Em projetos baseados em PackageReference, força todas as dependências a serem resolvidas, mesmo que a última restauração tenha sido bem-sucedida. Especificar esse sinalizador é semelhante à exclusão do arquivo
project.assets.json
. Isso não dispensa o http-cache.-ForceEnglishOutput
(3.5 ou superior) Força a execução de nuget.exe usando uma cultura invariável com base em inglês.
-ForceEvaluate
Força a restauração a reavaliar todas as dependências, mesmo quando já existe um arquivo de bloqueio.
-?|-help
Exibe as informações de ajuda para o comando.
-LockFilePath
Local de saída em que o arquivo de bloqueio de projeto é gravado. Por padrão, ela é
PROJECT_ROOT\packages.lock.json
.-LockedMode
Não permitir a atualização do arquivo de bloqueio do projeto.
-MSBuildPath
(4.0 ou superior) Especifica o caminho do MSBuild a ser usado com o comando, tendo precedência sobre
-MSBuildVersion
.-MSBuildVersion
(3.2 ou superior) Especifica a versão do MSBuild a ser usada com esse comando. Os valores suportados são 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Por padrão, o MSBuild em seu caminho é selecionado, caso contrário, ele usa, por padrão, a versão mais recente instalada do MSBuild.
-NoHttpCache
Impede que NuGet use pacotes http armazenados em cache. Confira Como gerenciar pacotes globais e pastas de cache.
-NonInteractive
Suprime solicitações de entrada de usuário ou confirmações.
-OutputDirectory
Especifica a pasta na qual os pacotes estão instalados. Se nenhuma pasta for especificada, a pasta atual será usada. Necessário ao restaurar com um arquivo
packages.config
, a menos quePackagesDirectory
ouSolutionDirectory
seja usado.-PackageSaveMode
Especifica os tipos de arquivos a serem salvos após a instalação do pacote: pode ser
nuspec
,nupkg
ounuspec;nupkg
.-PackagesDirectory
Mesmo que
OutputDirectory
. Necessário ao restaurar com um arquivopackages.config
, a menos queOutputDirectory
ouSolutionDirectory
seja usado.-Project2ProjectTimeOut
Tempo limite em segundos para resolver referências de projeto para projeto.
-Recursive
(4.0+) Restaura todos os projetos de referência para projetos UWP e .NET Core. Não se aplica a projetos que usam
packages.config
.-RequireConsent
Verifica se a restauração de pacotes está habilitada antes de fazer o download e instalar os pacotes. Para obter mais detalhes, confira Restauração de pacotes.
-SolutionDirectory
Especifica a pasta da solução. Não é válido ao restaurar pacotes para uma solução. Necessário ao restaurar com um arquivo
packages.config
, a menos quePackagesDirectory
ouOutputDirectory
seja usado.-Source
Especifica a lista de origens de pacote (como URLs) a serem usadas para a restauração. Se omitido, o comando usará as origens fornecidas nos arquivos de configuração; confira Como configurar o comportamento do NuGet. Use um ponto-e-vírgula para separar as entradas da lista.
-UseLockFile
Permite que o arquivo de bloqueio do projeto seja gerado e usado com a restauração.
-Verbosity [normal|quiet|detailed]
Especifica a quantidade de detalhes exibida na saída:
normal
(o padrão),quiet
oudetailed
.
Confira também Variáveis de ambiente
Comentários
O comando restore executa as seguintes etapas:
Determine o modo de operação do comando restore.
tipo de arquivo projectPath Comportamento Solução (pasta) O NuGet procura um arquivo .sln
e o usa se encontrado, caso contrário, gera um erro.(SolutionDir)\.nuget
é usado como a pasta inicial.Arquivo .sln
Restaurar pacotes identificados pela solução; vai gerar um erro se -SolutionDirectory
for usado.$(SolutionDir)\.nuget
é usado como a pasta inicial.packages.config
ou arquivo de projetoRestaure pacotes listados no arquivo, resolvendo e instalando dependências. Outro tipo de arquivo Presume-se que o arquivo seja um arquivo .sln
como acima; se não for uma solução, o NuGet vai gerar um erro.(projectPath não especificado) - O NuGet procura arquivos de solução na pasta atual. Se um único arquivo for encontrado, ele será usado para restaurar pacotes; se várias soluções forem encontradas, o NuGet vai gerar um erro.
- Se não houver arquivos de solução, o NuGet procurará um
packages.config
e o usará para restaurar pacotes. - Se nenhuma solução ou arquivo
packages.config
for encontrado, o NuGet vai gerar um erro.
Determine a pasta de pacotes usando a seguinte ordem de prioridade (o NuGet gerará um erro se nenhuma dessas pastas for encontrada):
- A pasta especificada com
-PackagesDirectory
. - O valor
repositoryPath
emNuget.Config
- A pasta especificada com
-SolutionDirectory
$(SolutionDir)\packages
- A pasta especificada com
Ao restaurar pacotes para uma solução, o NuGet faz o seguinte:
- Carrega o arquivo de solução.
- Restaura os pacotes de nível de solução listados em
$(SolutionDir)\.nuget\packages.config
na pastapackages
. - Restaure os pacotes listados em
$(ProjectDir)\packages.config
na pastapackages
. Para cada pacote especificado, restaure o pacote em paralelo, a menos que-DisableParallelProcessing
seja especificado.
Exemplos
# 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"