Question

J'appelle une dll non.NET de mon projet à l'aide de P / Invoke, ce qui signifie que la .dll doit toujours être présente dans le répertoire du fichier .exe.

Existe-t-il un moyen d'indiquer cette dépendance à Visual Studio, de sorte qu'il copie automatiquement le fichier .dll dans le répertoire de sortie lors de la compilation, et inclue automatiquement le fichier .dll dans la configuration? Ou dois-je le faire manuellement?

Était-ce utile?

La solution

Vous pouvez copier / lier ce / ces fichier (s) au projet et dans la fenêtre des propriétés, définissez "Build Action". à " Aucun " et " Copier dans le répertoire de sortie " pour " Copier si plus récent " ou "Copier toujours".

Vous pouvez également utiliser un " Evénements de pré-construction " & amp; "Événements post-construction" où vous pouvez spécifier des scripts batch.

Je préfère la deuxième option, car cette méthode est plus souple que la première.

Vous pouvez également modifier un fichier MSBuild et ajouter une tâche pour copier le ou les fichiers.

Autres conseils

Vous pouvez simplement ajouter le fichier .DLL à votre projet.

Sélectionnez le volet Propriétés pour ce fichier et définissez Action de construction sur Contenu et Copier dans le répertoire de sortie sur Copier si plus récent .

Je pense qu’un problème avec l’ajout d’un fichier .DLL au projet est que vous pouvez avoir besoin de différentes versions d’une DLL pour les versions de débogage et de publication. Vous penseriez pouvoir ajouter à la fois les versions de débogage et de publication de la DLL et, en fonction des configurations, exclure la version inappropriée, mais je n’étais pas en mesure de le faire. J'utilise Visual Studio 2010. Je suis convaincu que cela fonctionnait auparavant avec VS6.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top