comando restore (CLI de NuGet)
Se aplica a: consumo de paquetes • Versiones compatibles: 2.7 y posteriores
Descarga e instala los paquetes que faltan de la carpeta packages
. Cuando se usa con NuGet 4.0+ y el formato PackageReference, genera un archivo <project>.nuget.props
, si es necesario, en la carpeta obj
. (El archivo puede omitirse del control de código fuente.)
En Mac OSX y Linux con la CLI en Mono, no se admite la restauración de paquetes con PackageReference.
Uso
nuget restore <projectPath> [options]
donde <projectPath>
especifica la ubicación de una solución o un archivo packages.config
. Consulte los Comentarios siguientes para obtener más información sobre el comportamiento.
Opciones
-ConfigFile
El archivo de configuración de NuGet que aplicar. Si no se especifica, se usa
%AppData%\NuGet\NuGet.Config
(Windows) o~/.nuget/NuGet/NuGet.Config
o~/.config/NuGet/NuGet.Config
(Mac/Linux).-DirectDownload
(4.0+) Descarga paquetes directamente sin rellenar cachés con archivos binarios o metadatos.
-DisableParallelProcessing
Deshabilita la restauración de varios paquetes en paralelo.
-FallbackSource
(3.2+) Una lista de orígenes de paquetes que se van a usar como reserva en caso de que el paquete no se encuentre en el origen principal o predeterminado. Use un punto y coma para separar las entradas de lista.
-Force
En los proyectos basados en PackageReference, fuerza la resolución de todas las dependencias, incluso si la última restauración se realizó correctamente. Especificar esta marca es similar a eliminar el archivo
project.assets.json
. Esto no omite la caché http.-ForceEnglishOutput
(3.5 y posteriores) Fuerza la ejecución de nuget.exe mediante una referencia cultural en inglés invariable.
-ForceEvaluate
Fuerza la restauración para volver a evaluar todas las dependencias aunque ya exista un archivo de bloqueo.
-?|-help
Muestra información de ayuda para el comando.
-LockFilePath
Ubicación de salida donde se escribe el archivo de bloqueo del proyecto. De manera predeterminada, será
PROJECT_ROOT\packages.lock.json
.-LockedMode
No permite actualizar el archivo de bloqueo del proyecto.
-MSBuildPath
(4.0 y posteriores) Especifica la ruta de acceso de MSBuild que se va a usar con el comando; prevalecerá sobre
-MSBuildVersion
.-MSBuildVersion
(3.2 y posteriores) Especifica la versión de MSBuild que se va a usar con este comando. Los valores admitidos son 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. De manera predeterminada, se selecciona MSBuild en la ruta de acceso; de lo contrario, el valor predeterminado es la versión instalada más alta de MSBuild.
-NoHttpCache
Impide que NuGet use paquetes almacenados en caché http. Consulte Administración de paquetes globales y carpetas de caché.
-NonInteractive
Suprime solicitudes de confirmaciones o de entrada de usuario.
-OutputDirectory
Especifica la carpeta en la que se instalan los paquetes. Si no se especifica, se usa la carpeta actual. Necesario al restaurar con un archivo
packages.config
a menos que se usePackagesDirectory
oSolutionDirectory
.-PackageSaveMode
Especifica los tipos de archivos que se van a guardar después de la instalación del paquete: uno entre
nuspec
,nupkg
onuspec;nupkg
.-PackagesDirectory
Igual que
OutputDirectory
. Necesario al restaurar con un archivopackages.config
a menos que se useOutputDirectory
oSolutionDirectory
.-Project2ProjectTimeOut
Tiempo de espera en segundos para resolver referencias de proyecto a proyecto.
-Recursive
(4.0+) Restaura todos los proyectos de referencia para proyectos de UWP y .NET Core. No se aplica a los proyectos que usen
packages.config
.-RequireConsent
Compruebe que la restauración de paquetes está habilitada antes de descargar e instalar los paquetes. Para obtener más información, consulte Restauración de paquetes.
-SolutionDirectory
Especifica la carpeta de la solución. No es válido al restaurar paquetes para una solución. Necesario al restaurar con un archivo
packages.config
a menos que se usePackagesDirectory
oOutputDirectory
.-Source
Especifica la lista de orígenes de paquete (como direcciones URL) que se van a usar para la restauración. Si se omite, el comando usa los orígenes proporcionados en los archivos de configuración; consulte Configuración del comportamiento de NuGet. Use un punto y coma para separar las entradas de lista.
-UseLockFile
Habilita la generación del archivo de bloqueo del proyecto y su uso con la restauración.
-Verbosity [normal|quiet|detailed]
Especifica la cantidad de detalles que se muestran en la salida:
normal
(el valor predeterminado),quiet
odetailed
.
Consulta también Variables de entorno
Comentarios
El comando restore realiza los pasos siguientes:
Determine el modo de operación del comando restore.
tipo de archivo projectPath Comportamiento Solución (carpeta) NuGet busca un archivo .sln
y lo usa si se encuentra; de lo contrario, genera un error.(SolutionDir)\.nuget
se usa como carpeta de inicio.Archivo .sln
Restaurar paquetes identificados por la solución; genera un error si se usa -SolutionDirectory
.$(SolutionDir)\.nuget
se usa como carpeta de inicio.packages.config
o archivo de proyectoRestaure los paquetes enumerados en el archivo, resolviendo e instalando dependencias. Otro tipo de archivo Se supone que el archivo es un archivo .sln
como se indicó anteriormente; si no es una solución, NuGet genera un error.(projectPath no especificado) - NuGet busca archivos de solución en la carpeta actual. Si se encuentra un único archivo, se usa para restaurar paquetes; si se encuentran varias soluciones, NuGet genera un error.
- Si no hay ningún archivo de solución, NuGet busca
packages.config
y lo usa para restaurar paquetes. - Si no se encuentra ninguna solución ni el archivo
packages.config
, NuGet genera un error.
Determine la carpeta de paquetes con el siguiente orden de prioridad (NuGet genera un error si no se encuentra ninguna de estas carpetas):
- Carpeta especificada con
-PackagesDirectory
. - El valor
repositoryPath
enNuget.Config
. - Carpeta especificada con
-SolutionDirectory
$(SolutionDir)\packages
- Carpeta especificada con
Al restaurar paquetes para una solución, NuGet hace lo siguiente:
- Carga el archivo de solución.
- Restaura los paquetes de nivel de solución que aparecen en
$(SolutionDir)\.nuget\packages.config
en la carpetapackages
. - Restaura los paquetes que aparecen en
$(ProjectDir)\packages.config
en la carpetapackages
. Para cada paquete especificado, restaura el paquete en paralelo a menos que se especifique-DisableParallelProcessing
.
Ejemplos
# 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"