2008-11-06 7 views
1

J'ai une collection de DLLs non gérés avec un wrapper C# autour d'eux que j'appelle d'un projet C#. J'ai ajouté une ligne d'événement de construction qui ressemble à:vs2008 problème de publication avec les DLLs non gérés

mkdir ..\Release 
mkdir ..\Debug 
copy ..\..\Includes\*.dll ..\Release\*.dll 
copy ..\..\Includes\*.dll ..\Debug\*.dll 

Le problème est, quand je vais publier l'application, ces DLLs ne sont pas inclus, et la publication est pire qu'inutile, car il crée une application cela fonctionne jusqu'à ce que vous appelez l'un de ces DLLs. Par conséquent, comment puis-je inclure des DLL non managées lorsque je publie le projet?

Répondre

2

Et la réponse est: ne pas publier cela, utilisez les fenêtres d'installation à la place, as described here.

1

J'étudie actuellement la même question. La littérature sur le sujet est très éparse!

La seule solution que je peux voir est d'incorporer la DLL non managée en tant que ressource incorporée dans l'assembly, et de l'extraire par programme sur le chemin d'exécution avant d'appeler des fonctions.