Maison >développement back-end >C++ >Comment inclure les dépendances NuGet dans mes DLL de plug-in .NET Core ?

Comment inclure les dépendances NuGet dans mes DLL de plug-in .NET Core ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-10 17:57:42214parcourir

How Do I Include NuGet Dependencies in My .NET Core Plugin DLLs?

Distribution de packages NuGet avec des DLL de plug-in .NET Core

Le développement d'une architecture de plugin avec .NET Core nécessite la distribution de la DLL du plugin et de ses dépendances pour une installation transparente par l'utilisateur. Cependant, les versions standard de .NET Core n'incluent pas automatiquement les dépendances NuGet.

Solution : Modifier le fichier .csproj

Pour inclure ces dépendances, ajustez votre fichier projet (.csproj) comme suit :

  1. Recherchez la section <PropertyGroup> dans votre fichier .csproj.
  2. À l'intérieur de <PropertyGroup>, ajoutez cette ligne :
<code class="language-xml"><CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies></code>

Cela garantit que les packages NuGet sont copiés dans le répertoire de sortie de build.

Considération importante : construire le résultat par rapport au déploiement

Bien que pratique pour les tests locaux, la copie directe des packages NuGet dans la sortie de build n'est pas idéale pour la distribution. Pour créer des artefacts déployables, utilisez toujours la commande dotnet publish.

Une solution plus robuste : utiliser l'API DependencyContext

Une alternative plus flexible et portable évite d'intégrer directement les packages NuGet. Tirez parti de l'API DependencyContext pour résoudre dynamiquement les emplacements des DLL au moment de l'exécution à partir du graphique de dépendances de l'application. Cela offre une approche plus propre et plus maintenable pour la gestion des dépendances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn