dotnet add package

Cet article s’applique à : ✔️ SDK .NET Core 3.1 et versions ultérieures

Nom

dotnet add package - Ajoute ou met à jour une référence de package dans un fichier projet.

Synopsis

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

Description

La dotnet add package commande fournit une option pratique pour ajouter ou mettre à jour une référence de package dans un fichier projet. Lorsque vous exécutez la commande, une vérification de compatibilité est effectuée pour vous assurer que le package est compatible avec les frameworks du projet. Si la vérification réussit et que le package n’est pas référencé dans le fichier projet, un <PackageReference> élément est ajouté au fichier projet. Si la vérification réussit et que le package est déjà référencé dans le fichier projet, l’élément <PackageReference> est mis à jour vers la dernière version compatible. Une fois le fichier projet mis à jour, la restauration dotnet est exécutée.

Par exemple, l’ajout de Microsoft.EntityFrameworkCore à ToDo.csproj produit une sortie similaire à l’exemple suivant :

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

Le fichier ToDo.csproj contient à présent un élément <PackageReference> pour le package référencé.

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />

Restauration implicite

Vous n’avez pas besoin de l’exécuterdotnet restore, car elle est exécutée implicitement par toutes les commandes qui nécessitent une restauration, telles que dotnet new, dotnet build, dotnet rundotnet test, dotnet publish, et dotnet pack. Pour désactiver la restauration implicite, utilisez l’option --no-restore .

La dotnet restore commande est toujours utile dans certains scénarios où la restauration explicite est logique, comme les builds d’intégration continue dans Azure DevOps Services ou dans les systèmes de build qui doivent contrôler explicitement quand la restauration a lieu.

Pour plus d’informations sur la gestion des flux NuGet, consultez la dotnet restore documentation.

Arguments

  • PROJECT

    Spécifie le nom du fichier projet. Si aucun fichier n’est spécifié, la commande en recherche un dans le répertoire actuel.

  • PACKAGE_NAME

    Référence de package à ajouter.

Options

  • -f|--framework <FRAMEWORK>

    Ajoute une référence de package uniquement quand vous ciblez un framework spécifique.

  • -?|-h|--help

    Affiche une description de l’utilisation de la commande.

  • --interactive

    Permet à la commande de s’arrêter et d’attendre une action ou une entrée utilisateur. Par exemple, pour effectuer une authentification.

  • -n|--no-restore

    Ajoute une référence de package sans effectuer d’aperçu de restauration ni de contrôle de compatibilité.

  • --package-directory <PACKAGE_DIRECTORY>

    Répertoire où restaurer les packages. L’emplacement de restauration de package par défaut est %userprofile%\.nuget\packages sur Windows, et ~/.nuget/packages sur macOS et Linux. Pour plus d’informations, consultez Gérer les dossiers de packages globaux, les dossiers de cache et les dossiers temporaires dans NuGet.

  • --prerelease

    Autorise l’installation des packages de préversion. Disponible depuis le Kit de développement logiciel (SDK) .NET Core 5

  • -s|--source <SOURCE>

    URI de la source du package NuGet à utiliser pendant l’opération de restauration.

  • -v|--version <VERSION>

    Version du package. Consultez Contrôle de version du package NuGet.

Exemples

  • Ajouter un package NuGet Microsoft.EntityFrameworkCore à un projet :

    dotnet add package Microsoft.EntityFrameworkCore
    
  • Ajouter une version spécifique d’un package à un projet :

    dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
    
  • Ajouter un package à l’aide d’une source NuGet spécifique :

    dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
    

Voir aussi