147 votes

Ajouter les fichiers natifs du package NuGet au répertoire de sortie du projet

Je suis en train de créer un package NuGet pour une assembly .Net qui appelle une dll native Win32. Je dois packager à la fois l'assembly et la dll native avec l'assembly ajouté aux références du projet (pas de problème à ce niveau) et la dll native doit être copiée dans le répertoire de sortie du projet ou dans un autre répertoire relatif.

Mes questions sont :

  1. Comment puis-je packager la dll native sans que Visual Studio essaie de l'ajouter à la liste des références ?
  2. Dois-je écrire un install.ps1 pour copier la dll native ? Si oui, comment puis-je accéder au contenu du package pour la copier ?

-2voto

Sharon Salmon Points 99

Mettez-le dans le dossier de contenu

La commande nuget pack [projfile].csproj le fera automatiquement pour vous si vous marquez les fichiers comme du contenu.

ensuite, modifiez le fichier du projet comme mentionné ici en ajoutant les éléments ItemGroup & NativeLibs & None

      %(RecursiveDir)%(FileName)%(Extension)
      PreserveNewest

ça a fonctionné pour moi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X