Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Este artículo se aplica a: ✔️ SDK de .NET Core 3.1 y versiones posteriores
dotnet add package
: agrega o actualiza una referencia de paquete en un archivo del proyecto.
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
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" />
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 add ToDo.csproj package Microsoft.EntityFrameworkCore
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 add ToDo.csproj package Microsoft.EntityFrameworkCore --version 5.0.4
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 add ToDo.csproj package Microsoft.EntityFrameworkCore
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 add ToDo.csproj package Microsoft.EntityFrameworkCore --version 5.0.4
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 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
.
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.
-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).
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
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahora