Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo se aplica a: ✔️ SDK de .NET Core 3.1 y versiones posteriores
dotnet package add
: agrega o actualiza una referencia de paquete en un archivo de proyecto.
Nota
Si usa el SDK de .NET 9 o versiones anteriores, use el formulario "verbo primero" (dotnet add package
) en su lugar. El formato "nombre primero" se introdujo en .NET 10. Para obtener más información, consulte Orden de comandos más coherente.
dotnet package add <PACKAGE_NAME>
[-f|--framework <FRAMEWORK>] [--interactive] [--project <PROJECT>]
[-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
[--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]
dotnet package add -h|--help
El dotnet package add
comando proporciona una opción cómoda para agregar o actualizar una referencia de paquete en un archivo de proyecto. Al ejecutar el comando, hay una comprobación de compatibilidad para asegurarse de que el paquete es compatible con los marcos del proyecto. Si la comprobación pasa y el paquete no se hace referencia en el archivo del proyecto, se agrega un <PackageReference>
elemento al archivo del proyecto. Si la comprobación pasa y el paquete ya se hace referencia en el archivo del proyecto, el <PackageReference>
elemento se actualiza a la versión compatible más reciente. Una vez actualizado el archivo del proyecto, se ejecuta dotnet restore .
Por ejemplo, agregar Microsoft.EntityFrameworkCore
a ToDo.csproj genera una salida similar a la del ejemplo siguiente:
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 ahora contiene un <PackageReference>
elemento para el paquete al que se hace referencia.
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Si el proyecto se incorpora a la administración central de paquetes (CPM), el <PackageVersion>
elemento de Directory.Packages.props file
se agrega o actualiza y el <PackageReference>
elemento se agrega al archivo del proyecto.
Actualmente se admiten los siguientes escenarios. En estos ejemplos se supone que la versión más reciente de Microsoft.EntityFrameworkCore
es 6.0.4. En esta especificación de diseño se documentan escenarios adicionales relacionados con CPM.
Escenario 1: <PackageReference>
no existe en el archivo del proyecto, <PackageVersion>
el elemento no existe en Directory.Packages.props file
y el argumento version no se pasa desde la línea de comandos.
Comando de la CLI que se ejecuta: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
El <PackageVersion>
elemento se agrega a .Directory.Packages.props file
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
El <PackageReference>
elemento se agrega al archivo del proyecto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Escenario 2: <PackageReference>
no existe en el archivo de proyecto, <PackageVersion>
el elemento no existe en Directory.Packages.props file
y el argumento version se pasa desde la línea de comandos.
Comando de la CLI que se ejecuta: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
El <PackageVersion>
elemento se agrega a .Directory.Packages.props file
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
El <PackageReference>
elemento se agrega al archivo del proyecto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Escenario 3: <PackageReference>
no existe en el archivo de proyecto, <PackageVersion>
el elemento existe en Directory.Packages.props file
y el argumento version no se pasa desde la línea de comandos.
Comando de la CLI que se ejecuta: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
El <PackageVersion>
elemento se agrega a .Directory.Packages.props file
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
El <PackageReference>
elemento se agrega al archivo del proyecto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Escenario 4: <PackageReference>
no existe en el archivo de proyecto, <PackageVersion>
el elemento existe en Directory.Packages.props file
y el argumento version se pasa desde la línea de comandos.
Comando de la CLI que se ejecuta: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
El <PackageVersion>
elemento se agrega a .Directory.Packages.props file
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
El <PackageReference>
elemento se agrega al archivo del proyecto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
No es necesario ejecutar dotnet restore
porque se ejecuta implícitamente por todos los comandos que requieren que se produzca una restauración, tales 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 útil en determinados escenarios en los que la restauración explícitamente tiene sentido, como compilaciones de integración continua en Azure DevOps Services o en 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, consulte la documentación de dotnet restore
.
PROJECT
Especifica el archivo del proyecto. Si no se especifica, el comando busca uno en el directorio actual.
PACKAGE_NAME
Referencia del paquete que se va a agregar.
-f|--framework <FRAMEWORK>
Agrega una referencia de paquete solo cuando tiene como destino 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 comprobación de compatibilidad y vista previa de restauración.
--package-directory <PACKAGE_DIRECTORY>
Directorio en el que se van a restaurar los paquetes. La ubicación de restauración de paquetes predeterminada está
%userprofile%\.nuget\packages
en Windows y~/.nuget/packages
en macOS y Linux. Para obtener más información, consulte Administración de paquetes globales, caché y carpetas temporales en NuGet.--prerelease
Permite instalar paquetes de versión preliminar. Disponible desde el SDK de .NET Core 5
-s|--source <SOURCE>
URI del origen del paquete NuGet que se va a usar durante la operación de restauración.
-v|--version <VERSION>
Versión del paquete. Consulte Control de versiones de paquetes NuGet.
Agregue
Microsoft.EntityFrameworkCore
el paquete NuGet a un proyecto:dotnet package add Microsoft.EntityFrameworkCore
Agregue una versión específica de un paquete a un proyecto:
dotnet package add Microsoft.Azure.DocumentDB.Core -v 1.0.0 --project ToDo.csproj
Agregue un paquete mediante un origen de NuGet específico:
dotnet package add Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: