Gérer les dépendances dans les applications .NET

Cet article explique comment ajouter et supprimer des dépendances de package, de projet et d’assembly.

Ajouter et supprimer des dépendances de package

Vous pouvez ajouter et supprimer des dépendances en modifiant votre fichier projet ou via des commandes CLI .NET .

Utiliser l’interface CLI

Pour ajouter une dépendance, exécutez la dotnet package commande de votre version du Kit de développement logiciel (SDK) :

dotnet package add Microsoft.EntityFrameworkCore

Pour supprimer une dépendance, exécutez la dotnet package commande de votre version du Kit de développement logiciel (SDK) :

dotnet package remove Microsoft.EntityFrameworkCore

Modifier le fichier projet

Pour ajouter une dépendance, ajoutez un <PackageReference> élément à l’intérieur d’un <ItemGroup> élément. Vous pouvez ajouter à un existant <ItemGroup> ou en créer un.

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    ...
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
  </ItemGroup>

</Project>

L’attribut Include spécifie l’ID du package à ajouter au projet. L’attribut Version spécifie la version à obtenir. Les versions sont spécifiées conformément aux règles de version NuGet.

Utilisez des conditions pour ajouter une dépendance disponible uniquement dans une cible spécifique, comme illustré dans l’exemple suivant :

<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />

La dépendance dans l’exemple précédent ne sera valide que si la build se produit pour cette cible donnée. Dans la condition, $(TargetFramework) est une propriété MSBuild définie dans le projet. Pour les applications .NET les plus courantes, vous n’avez pas besoin de le faire.

Pour supprimer une dépendance, supprimez son <PackageReference> élément du fichier projet.

Pour plus d’informations sur l’élément PackageReference, consultez la référence MSBuild pour les projets SDK .NET.

Ajouter et supprimer des références de projet

Utilisez une référence de projet à projet lorsque votre projet dépend d’un autre projet. Pour ajouter et supprimer des références de projet, modifiez le fichier projet ou utilisez l’interface CLI.

Utiliser l’interface CLI

Pour ajouter une référence de projet, exécutez la dotnet reference commande pour votre version du Kit de développement logiciel (SDK).

dotnet reference add ../MyLibrary/MyLibrary.csproj

Pour supprimer une référence de projet, exécutez la commande suivante pour votre version du Kit de développement logiciel (SDK) :

dotnet reference remove ../MyLibrary/MyLibrary.csproj

Modifier le fichier projet

L’élément <ProjectReference> de fichier projet identifie le chemin d’accès au projet référencé. Pour ajouter une référence de projet, ajoutez un <ProjectReference> élément à l’intérieur d’un <ItemGroup> élément. Vous pouvez ajouter à un existant <ItemGroup> ou en créer un.

<ItemGroup>
  <ProjectReference Include="../MyLibrary/MyLibrary.csproj" />
</ItemGroup>

Pour supprimer une référence de projet, supprimez l’élément <ProjectReference> du fichier projet.

Pour plus d’informations sur l’élément ProjectReference , consultez les éléments de projet MSBuild courants.

Ajouter et supprimer des références d’assembly

Vous pouvez ajouter et supprimer des références d’assembly via le fichier projet. L'interface CLI .NET ne fournit pas de commandes pour ajouter ou supprimer des références d'assembly.

Pour référencer un assembly .NET qui ne fait pas partie d'un projet ou d'un package, ajoutez un <Reference> élément au fichier projet. Utilisez l’élément <HintPath> pour spécifier le chemin d’accès relatif ou absolu à l’assembly :

<ItemGroup>
  <Reference Include="MyAssembly">
    <HintPath>lib/MyAssembly.dll</HintPath>
  </Reference>
</ItemGroup>

Pour supprimer une référence d’assembly, supprimez son <Reference> élément du fichier projet.

Pour plus d’informations sur l’élément Reference , consultez les éléments de projet MSBuild courants.

Conseils

  • N’incluez pas d’entrées dans l’opération de restauration dans le fichier .targets ou .props d’un package référencé. Ces entrées peuvent inclure des PackageReference éléments, ExcludeAssets des attributs, des flux NuGet à utiliser ou d’autres configurations NuGet. Les fichiers .targets et .props des packages ne sont pas utilisés tant qu’une fois la restauration NuGet terminée. Tout ce qui est nécessaire pour la restauration doit se trouver dans le fichier projet ou le fichier .targets du projet lui-même, et non dans une dépendance de package.

  • Si vous souhaitez utiliser ASP.NET API dans une application console ou une bibliothèque de classes, ajoutez un élément FrameworkReference à votre fichier projet :

    <FrameworkReference Include="Microsoft.AspNetCore.App" />

    Pour plus d’informations, consultez Utiliser l’infrastructure partagée ASP.NET Core.

Voir aussi