dotnet restoredotnet restore

Este artículo se aplica a: ✓ SDK de .NET Core 1.x SDK de .NET Core 2.xThis article applies to: ✓ .NET Core 1.x SDK .NET Core 2.x SDK

NameName

dotnet restore: restaura las dependencias y las herramientas de un proyecto.dotnet restore - Restores the dependencies and tools of a project.

SinopsisSynopsis

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]

DESCRIPCIÓNDescription

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.The dotnet restore command uses NuGet to restore dependencies as well as project-specific tools that are specified in the project file. De forma predeterminada, la restauración de dependencias y herramientas se ejecuta en paralelo.By default, the restoration of dependencies and tools are executed in parallel.

Nota

A partir del SDK de .NET Core 2.0, no es necesario ejecutar dotnet restore porque lo ejecutan implícitamente todos los comandos que requieren que se produzca una restauración, como dotnet new, dotnet build y 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. Sigue siendo un comando válido en algunos escenarios donde tiene sentido realizar una restauración explícita, como las compilaciones de integración continua en Azure DevOps Services o en los sistemas de compilación que necesitan controlar explícitamente la hora a la que se produce la restauración.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 las dependencias, NuGet necesita las fuentes donde se encuentran los paquetes.To restore the dependencies, NuGet needs the feeds where the packages are located. Las fuente se proporcionan normalmente mediante el archivo de configuración nuget.config.Feeds are usually provided via the nuget.config configuration file. Cuando se instalan las herramientas de la CLI, se proporciona un archivo de configuración predeterminado.A default configuration file is provided when the CLI tools are installed. Puede especificar más fuentes creando su propio archivo nuget.config en el directorio del proyecto.You specify additional feeds by creating your own nuget.config file in the project directory. También puede especificar fuentes adicionales por invocación en un símbolo del sistema.You also specify additional feeds per invocation at a command prompt.

Para las dependencias, puede especificar dónde se colocan los paquetes restaurados durante la operación de restauración mediante el argumento --packages.For dependencies, you specify where the restored packages are placed during the restore operation using the --packages argument. 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.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 ejemplo, /home/usuario1 en Linux o C:\Usuarios\usuario1 en Windows.For example, /home/user1 on Linux or C:\Users\user1 on Windows.

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.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.

Diferencias de nuget.confignuget.config differences

El comportamiento del comando dotnet restore depende de las opciones de configuración del archivo nuget.config, si existe.The behavior of the dotnet restore command is affected by the settings in the nuget.config file, if present. Por ejemplo, establecer globalPackagesFolder en nuget.config coloca los paquetes NuGet restaurados en la carpeta especificada.For example, setting the globalPackagesFolder in nuget.config places the restored NuGet packages in the specified folder. Esta es una alternativa para especificar la opción --packages en el comando dotnet restore.This is an alternative to specifying the --packages option on the dotnet restore command. Para más información, consulte la referencia de nuget.config.For more information, see the nuget.config reference.

Hay tres configuraciones específicas que dotnet restore omite:There are three specific settings that dotnet restore ignores:

  • bindingRedirectsbindingRedirects

    Los redireccionamientos de enlace no funcionan con elementos de <PackageReference> y .NET Core solo admite elementos de <PackageReference> para los paquetes NuGet.Binding redirects don't work with <PackageReference> elements and .NET Core only supports <PackageReference> elements for NuGet packages.

  • solutionsolution

    Esta configuración es específica para Visual Studio y no se aplica a .NET Core.This setting is Visual Studio specific and doesn't apply to .NET Core. .NET Core no usa un archivo packages.config y, en su lugar, usa elementos de <PackageReference> para los paquetes NuGet..NET Core doesn't use a packages.config file and instead uses <PackageReference> elements for NuGet packages.

  • trustedSignerstrustedSigners

    Esta configuración no es aplicable porque NuGet ya no admite la comprobación multiplataforma de los paquetes de confianza.This setting isn't applicable as NuGet doesn't yet support cross-platform verification of trusted packages.

dotnet restore implícitoImplicit dotnet restore

A partir de .NET Core 2.0, dotnet restore se ejecuta de forma implícita si es necesario al emitir los siguientes comandos:Starting with .NET Core 2.0, dotnet restore is run implicitly if necessary when you issue the following commands:

En la mayoría de los casos, ya no necesita utilizar explícitamente el comando dotnet restore.In most cases, you no longer need to explicitly use the dotnet restore command.

En ocasiones, es posible que no sea conveniente ejecutar dotnet restore de forma implícita.Sometimes, it might be inconvenient to run dotnet restore implicitly. 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.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 dotnet restore se ejecute de forma implícita, se puede usar la marca --no-restore con cualquiera de estos comandos para deshabilitar la restauración 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.

ArgumentosArguments

ROOT

Ruta de acceso opcional del archivo de proyecto para restaurar.Optional path to the project file to restore.

OpcionesOptions

--configfile <FILE>

El archivo de configuración de NuGet (nuget.config) que se usa para la operación de restauración.The NuGet configuration file (nuget.config) to use for the restore operation.

--disable-parallel

Deshabilita la restauración de varios proyectos en paralelo.Disables restoring multiple projects in parallel.

--force

Fuerza la resolución de todas las dependencias, incluso si la última restauración se realizó correctamente.Forces all dependencies to be resolved even if the last restore was successful. Especificar esta marca es lo mismo que eliminar el archivo project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Imprime una corta ayuda para el comando.Prints out a short help for the command.

--ignore-failed-sources

Solo se advierte sobre los orígenes con error si hay paquetes que satisfagan el requisito de versión.Only warn about failed sources if there are packages meeting the version requirement.

--no-cache

Especifica que no se almacenen en caché los paquetes y las solicitudes HTTP.Specifies to not cache packages and HTTP requests.

--no-dependencies

Al restaurar un proyecto con referencias de proyecto a proyecto (P2P), se restaura el proyecto raíz y no las referencias.When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

--packages <PACKAGES_DIRECTORY>

Especifica el directorio de los paquetes restaurados.Specifies the directory for restored packages.

-r|--runtime <RUNTIME_IDENTIFIER>

Especifica un tiempo de ejecución para la restauración del paquete.Specifies a runtime for the package restore. Se usa para restaurar los paquetes con tiempos de ejecución que no se enumeran explícitamente en la etiqueta <RuntimeIdentifiers> del archivo .csproj.This is used to restore packages for runtimes not explicitly listed in the <RuntimeIdentifiers> tag in the .csproj file. Para obtener una lista de identificadores de tiempo de ejecución (RID), consulte el catálogo de RID.For a list of Runtime Identifiers (RIDs), see the RID catalog. Para proporcionar varios RID; especifique esta opción varias veces.Provide multiple RIDs by specifying this option multiple times.

-s|--source <SOURCE>

Especifica un origen de paquetes de NuGet que se usará durante la operación de restauración.Specifies a NuGet package source to use during the restore operation. Este valor invalida todos los orígenes especificados en los archivos nuget.config.This setting overrides all of the sources specified in the nuget.config files. Al especificar esta opción varias veces, se pueden proporcionar varios orígenes.Multiple sources can be provided by specifying this option multiple times.

--verbosity <LEVEL>

Establece el nivel de detalle del comando.Sets the verbosity level of the command. Los valores permitidos son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

--interactive

Permite que el comando se detenga y espere la entrada o acción del usuario (por ejemplo, completar la autenticación).Allows the command to stop and wait for user input or action (for example to complete authentication). Desde .NET Core 2.1.400.Since .NET Core 2.1.400.

EjemplosExamples

Restauración de dependencias y herramientas para el proyecto en el directorio actual:Restore dependencies and tools for the project in the current directory:

dotnet restore

Restauración de dependencias y herramientas para el proyecto app1 encontrado en la ruta de acceso dada:Restore dependencies and tools for the app1 project found in the given path:

dotnet restore ~/projects/app1/app1.csproj

Restaurar las dependencias y las herramientas para el proyecto en el directorio actual con la ruta de acceso de archivo proporcionada como origen: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

Restaurar las dependencias y las herramientas para el proyecto en el directorio actual mediante las dos rutas de acceso de archivo proporcionadas como orígenes: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

Restaurar las dependencias y herramientas para el proyecto en el directorio actual y mostrar únicamente la salida mínima:Restore dependencies and tools for the project in the current directory and shows only minimal output:

dotnet restore --verbosity minimal