Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article s’applique à : ✔️ .NET Core 3.1 et versions ultérieures
Nom
dotnet package add
- Ajoute ou met à jour une référence de package dans un fichier projet.
Remarque
Si vous utilisez le Kit de développement logiciel (SDK) .NET 9 ou une version antérieure, utilisez le formulaire « verbe premier » (dotnet add package
) à la place. Le formulaire « nom premier » a été introduit dans .NET 10. Pour plus d’informations, consultez Ordre de commande plus cohérent.
Synopsis
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
Description
La dotnet package add
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, il existe un contrôle de compatibilité pour vous assurer que le package est compatible avec les frameworks du projet. Si la vérification passe 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 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 désormais un <PackageReference>
élément pour le package référencé.
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Si le projet est intégré à la gestion centralisée des packages (CPM), l’élément <PackageVersion>
de l’élément Directory.Packages.props file
est ajouté/mis à jour et l’élément <PackageReference>
est ajouté au fichier projet.
Les scénarios suivants sont actuellement pris en charge. Ces exemples supposent que la dernière version est Microsoft.EntityFrameworkCore
6.0.4. D’autres scénarios liés à CPM sont documentés dans cette spécification de conception.
Scénario 1 : <PackageReference>
n’existe pas dans le fichier projet, <PackageVersion>
l’élément n’existe pas dans le Directory.Packages.props file
fichier projet et l’argument de version n’est pas passé à partir de la ligne de commande.
Commande CLI exécutée : dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
L’élément <PackageVersion>
est ajouté au Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
L’élément <PackageReference>
est ajouté au fichier projet.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Scénario 2 : <PackageReference>
n’existe pas dans le fichier projet, <PackageVersion>
l’élément n’existe pas dans le Directory.Packages.props file
fichier projet et l’argument de version est passé à partir de la ligne de commande.
Commande CLI exécutée : dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
L’élément <PackageVersion>
est ajouté au Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
L’élément <PackageReference>
est ajouté au fichier projet.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Scénario 3 : <PackageReference>
n’existe pas dans le fichier projet, <PackageVersion>
l’élément existe dans le Directory.Packages.props file
fichier projet et l’argument de version n’est pas passé à partir de la ligne de commande.
Commande CLI exécutée : dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
L’élément <PackageVersion>
est ajouté au Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
L’élément <PackageReference>
est ajouté au fichier projet.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Scénario 4 : <PackageReference>
n’existe pas dans le fichier projet, <PackageVersion>
l’élément existe dans le Directory.Packages.props file
fichier projet et l’argument de version est passé à partir de la ligne de commande.
Commande CLI exécutée : dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
L’élément <PackageVersion>
est ajouté au Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
L’élément <PackageReference>
est ajouté au fichier projet.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Restauration implicite
Vous n’avez pas besoin d’exécuter dotnet restore
, car il est exécuté implicitement par toutes les commandes qui nécessitent une restauration pour se produire, comme dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
et dotnet pack
. Pour désactiver la restauration implicite, utilisez l’option --no-restore
.
La commande dotnet restore
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 génération qui doivent contrôler explicitement le moment où la restauration se produit.
Pour plus d’informations sur la gestion des flux NuGet, consultez la documentation dotnet restore
.
Arguments
PROJECT
Spécifie le fichier projet. Si elle n’est pas spécifiée, la commande recherche un répertoire actif.
PACKAGE_NAME
Référence de package à ajouter.
Paramètres
-f|--framework <FRAMEWORK>
Ajoute une référence de package uniquement lors du ciblage d’une infrastructure spécifique.
-?|-h|--help
Imprime 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 de vérification de la préversion et de compatibilité de restauration.
--package-directory <PACKAGE_DIRECTORY>
Répertoire où restaurer les packages. L’emplacement de restauration de package par défaut se trouve
%userprofile%\.nuget\packages
sur Windows et~/.nuget/packages
sur macOS et Linux. Pour plus d’informations, consultez Gestion des packages globaux, du cache et des 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 le contrôle de version du package NuGet.
Exemples
Ajoutez
Microsoft.EntityFrameworkCore
un package NuGet à un projet :dotnet package add Microsoft.EntityFrameworkCore
Ajoutez une version spécifique d’un package à un projet :
dotnet package add Microsoft.Azure.DocumentDB.Core -v 1.0.0 --project ToDo.csproj
Ajoutez un package à l’aide d’une source NuGet spécifique :
dotnet package add Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json