dotnet add package
Este artículo se aplica a: ✔️ SDK de .NET Core 3.1 y versiones posteriores
Nombre
dotnet add package
: agrega o actualiza una referencia de paquete en un archivo del proyecto.
Sinopsis
dotnet add [<PROJECT>] package <PACKAGE_NAME>
[-f|--framework <FRAMEWORK>] [--interactive]
[-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
[--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]
dotnet add package -h|--help
Descripción
El comando dotnet add package
es una opción práctica para agregar o actualizar una referencia de paquete en un archivo del proyecto. Al ejecutar el comando, se lleva a cabo una comprobación de compatibilidad para garantizar que el paquete es compatible con los marcos del proyecto. Si el resultado es positivo y no se hace referencia al paquete en el archivo del proyecto, se agrega un elemento <PackageReference>
al archivo. Si el resultado es positivo y ya se hace referencia al paquete en el archivo del proyecto, el elemento <PackageReference>
se actualiza a la última versión admitida. Tras actualizar el archivo del proyecto, se ejecuta dotnet restore.
Por ejemplo, si agrega Microsoft.EntityFrameworkCore
a ToDo.csproj se producirá un resultado similar al del siguiente ejemplo:
Determining projects to restore...
Writing C:\Users\username\AppData\Local\Temp\tmp24A8.tmp
info : Adding PackageReference for package 'Microsoft.EntityFrameworkCore' into project 'C:\ToDo\ToDo.csproj'.
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/index.json
info : GET https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/0.0.1-alpha/3.1.3.json
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/3.1.4/7.0.0-preview.2.22153.1.json
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/7.0.0-preview.3.22175.1/7.0.0-preview.3.22175.1.json
info : NotFound https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json 257ms
info : Restoring packages for C:\ToDo\ToDo.csproj...
info : Package 'Microsoft.EntityFrameworkCore' is compatible with all the specified frameworks in project 'C:\ToDo\ToDo.csproj'.
info : PackageReference for package 'Microsoft.EntityFrameworkCore' version '6.0.4' added to file 'C:\ToDo\ToDo.csproj'.
info : Writing assets file to disk. Path: C:\ToDo\obj\project.assets.json
log : Restored C:\ToDo\ToDo.csproj (in 171 ms).
El archivo ToDo.csproj contiene ahora un elemento <PackageReference>
para el paquete al que hace referencia.
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Restauración implícita
No es necesario ejecutar dotnet restore
porque lo ejecutan implícitamente todos los comandos que necesitan que se produzca una restauración, como dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
y dotnet pack
. Para deshabilitar la restauración implícita, use la opción --no-restore
.
El comando dotnet restore
sigue siendo 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 cuándo se produce la restauración.
Para obtener información sobre cómo administrar fuentes de NuGet, vea la documentación de dotnet restore
.
Argumentos
PROJECT
Especifica el archivo del proyecto. Si no se especifica, el comando busca uno en el directorio actual.
PACKAGE_NAME
La referencia de paquete que se va a agregar.
Opciones
-f|--framework <FRAMEWORK>
Agrega una referencia de paquete solo cuando se destina a un marco específico.
-?|-h|--help
Imprime una descripción de cómo usar el comando.
--interactive
Permite que el comando se detenga y espere una entrada o una acción del usuario. Por ejemplo, para completar la autenticación.
-n|--no-restore
Agrega una referencia de paquete sin realizar una vista previa de restauración y una comprobación de compatibilidad.
--package-directory <PACKAGE_DIRECTORY>
Directorio donde quiere restaurar los paquetes. La ubicación predeterminada de restauración de paquetes es
%userprofile%\.nuget\packages
en Windows y~/.nuget/packages
en macOS y Linux. Para obtener más información, vea Administración de las carpetas de paquetes globales, de caché y temporales in NuGet.--prerelease
Permite que se instalen paquetes de versión preliminar. Disponible a partir del SDK de .NET Core 5.
-s|--source <SOURCE>
URI del origen del paquete NuGet que se usará durante la operación de restauración.
-v|--version <VERSION>
Versión del paquete. Consulte NuGet package versioning (Control de versiones de paquetes NuGet).
Ejemplos
Agregar un paquete de NuGet
Microsoft.EntityFrameworkCore
a un proyecto:dotnet add package Microsoft.EntityFrameworkCore
Agregar una versión específica de un paquete a un proyecto:
dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
Agregar un paquete con un origen de NuGet específico:
dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
Vea también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de