dotnet restore
Este artículo se aplica a: ✔️ SDK de .NET Core 2.1 y versiones posteriores
NOMBRE
dotnet restore: restaura las dependencias y las herramientas de un proyecto.
Sinopsis
dotnet restore [<ROOT>] [--configfile <FILE>] [--disable-parallel]
[-f|--force] [--force-evaluate] [--ignore-failed-sources]
[--interactive] [--lock-file-path <LOCK_FILE_PATH>] [--locked-mode]
[--no-cache] [--no-dependencies] [--packages <PACKAGES_DIRECTORY>]
[-r|--runtime <RUNTIME_IDENTIFIER>] [-s|--source <SOURCE>]
[--use-lock-file] [-v|--verbosity <LEVEL>]
dotnet restore -h|--help
Descripción
El comando dotnet restore usa NuGet para restaurar las dependencias, así como las herramientas específicas del proyecto que se especifican en el archivo project.json. En la mayoría de los casos, no es necesario usar explícitamente el comando dotnet restore, ya que una restauración de NuGet se ejecuta implícitamente si es necesario al ejecutar los siguientes comandos:
A veces, puede que no sea conveniente ejecutar la restauración de NuGet implícita con estos comandos. Por ejemplo, algunos sistemas automatizados, como los sistemas de compilación, deben llamar a dotnet restore explícitamente para controlar cuándo se produce la restauración a fin de controlar el uso de la red. Para evitar la restauración de NuGet implícita, puede usar la marca --no-restore con cualquiera de estos comandos para deshabilitar la restauración implícita.
Especificación de fuentes
Para restaurar las dependencias, NuGet necesita las fuentes donde se encuentran los paquetes. Las fuente se proporcionan normalmente mediante el archivo de configuración nuget.config. Cuando se instala el SDK de .NET, se proporciona un archivo de configuración predeterminado. Para especificar fuentes adicionales, realice una de las acciones siguientes:
- Cree su propio archivo nuget.config en el directorio del proyecto. Para obtener más información, vea Configuraciones comunes de NuGet y Diferencias de nuget.config más adelante en este artículo.
- Use comandos de
dotnet nugetcomodotnet nuget add source.
Puede invalidar las fuentes nuget.config con la opción -s.
Para obtener información sobre cómo usar las fuentes autenticadas, vea Consumir paquetes desde fuentes autenticadas.
Carpeta de paquetes globales
Para las dependencias, puede especificar dónde se colocan los paquetes restaurados durante la operación de restauración mediante el argumento --packages. Si no se especifica, se usa la caché de paquetes NuGet predeterminada, que se encuentra en el directorio .nuget/packages del directorio de inicio del usuario en todos los sistemas operativos. Por ejemplo, /home/usuario1 en Linux o C:\Usuarios\usuario1 en Windows.
Herramientas específicas del proyecto
Para herramientas específicas del proyecto, dotnet restore restaura primero el paquete en el que se empaqueta la herramienta y, a continuación, continúa con la restauración de las dependencias de la herramienta especificadas en su project.json.
Diferencias de nuget.config
El comportamiento del comando dotnet restore depende de las opciones de configuración del archivo nuget.config, si existe. Por ejemplo, establecer globalPackagesFolder en nuget.config coloca los paquetes NuGet restaurados en la carpeta especificada. Esta es una alternativa para especificar la opción --packages en el comando dotnet restore. Para más información, consulte la referencia de nuget.config.
Hay tres configuraciones específicas que dotnet restore omite:
-
Los redireccionamientos de enlace no funcionan con elementos de
<PackageReference>y .NET solo admite elementos de<PackageReference>para los paquetes NuGet. -
Esta configuración es específica para Visual Studio y no se aplica a .NET. .NET no usa un archivo
packages.configy, en su lugar, usa elementos de<PackageReference>para los paquetes NuGet. -
En el SDK 5.0.100 de .NET se ha agregado compatibilidad con la comprobación de la firma de paquetes multiplataforma.
Descargas de manifiestos de cargas de trabajo
Cuando se ejecuta, este comando inicia una descarga asincrónica en segundo plano de manifiestos de publicidad de cargas de trabajo. Si la descarga no ha terminado cuando finaliza el comando, se detiene. Para obtener más información, vea Manifiestos de publicidad.
Argumentos
ROOTRuta de acceso opcional del archivo de proyecto para restaurar.
Opciones
--configfile <FILE>Archivo de configuración de NuGet (nuget.config) que se va a usar. Si se especifica, solo se usará la configuración de este archivo. Si no se especifica, se utilizará la jerarquía de archivos de configuración del directorio actual. Para más información, consulte Configuraciones comunes de NuGet.
--disable-parallelDeshabilita la restauración de varios proyectos en paralelo.
--forceFuerza la resolución de todas las dependencias, incluso si la última restauración se realizó correctamente. Especificar esta marca es lo mismo que eliminar el archivo project.assets.json.
--force-evaluateFuerza la restauración para volver a evaluar todas las dependencias aunque ya exista un archivo de bloqueo.
-?|-h|--helpImprime una descripción de cómo usar el comando.
--ignore-failed-sourcesSolo se advierte sobre los orígenes con error si hay paquetes que satisfagan el requisito de versión.
--interactivePermite que el comando se detenga y espere una entrada o una acción del usuario. Por ejemplo, para completar la autenticación.
--lock-file-path <LOCK_FILE_PATH>Ubicación de salida donde se escribe el archivo de bloqueo del proyecto. De forma predeterminada es PROJECT_ROOT\packages.lock.json.
--locked-modeNo permite actualizar el archivo de bloqueo del proyecto.
--no-cacheEspecifica que no se almacenen en caché las solicitudes HTTP.
--no-dependenciesAl restaurar un proyecto con referencias de proyecto a proyecto (P2P), se restaura el proyecto raíz y no las referencias.
--packages <PACKAGES_DIRECTORY>Especifica el directorio de los paquetes restaurados.
-r|--runtime <RUNTIME_IDENTIFIER>Especifica un tiempo de ejecución para la restauración del paquete. Se usa para restaurar los paquetes con tiempos de ejecución que no se enumeran explícitamente en la etiqueta
<RuntimeIdentifiers>del archivo .csproj. Para obtener una lista de identificadores de tiempo de ejecución (RID), consulte el catálogo de RID. Para proporcionar varios RID; especifique esta opción varias veces.-s|--source <SOURCE>Especifica el URI del origen del paquete NuGet que se usará durante la operación de restauración. Este valor invalida todos los orígenes especificados en los archivos nuget.config. Al especificar esta opción varias veces, se pueden proporcionar varios orígenes.
--use-lock-fileHabilita la generación del archivo de bloqueo del proyecto y su uso con la restauración.
-v|--verbosity <LEVEL>Establece el nivel de detalle del comando. Los valores permitidos son
q[uiet],m[inimal],n[ormal],d[etailed]ydiag[nostic]. De manera predeterminada, esminimal. Para obtener más información, vea LoggerVerbosity.
Ejemplos
Restauración de dependencias y herramientas para el proyecto en el directorio actual:
dotnet restoreRestauración de dependencias y herramientas para el proyecto
app1encontrado en la ruta de acceso dada:dotnet restore ./projects/app1/app1.csprojRestauración de dependencias y herramientas para el proyecto en el directorio actual con la ruta de acceso de archivo proporcionada como origen:
dotnet restore -s c:\packages\mypackagesRestauración de dependencias y herramientas para el proyecto en el directorio actual mediante las dos rutas de acceso de archivo proporcionadas como orígenes:
dotnet restore -s c:\packages\mypackages -s c:\packages\myotherpackagesRestauración de dependencias y herramientas para el proyecto en el directorio actual que muestra una salida detallada:
dotnet restore --verbosity detailed