2009-12-08 7 views
1

J'ai créé une application de la console de base dans Visual Studio 2008, qui fait référence à un ensemble externe.application console VS - compiler toutes les bibliothèques dans un exe

Quand je publie et installer le projet, à la fois l'exécutable et l'ensemble externe sont installés dans le dossier cible.

Est-il possible de compiler le projet et ont tous les ensembles référencés inclus dans le fichier exécutable principal - donc il n'y a qu'un seul fichier à distribuer?

Merci pour toute aide,

Franko

Répondre

4

Vous pouvez utiliser ILMerge pour fusionner les ensembles pour le déploiement. Cela vous permet de les garder séparés pendant le développement, mais mettez-les tous dans un fichier .exe lorsque vous expédiez.

+0

Merci - juste ce que je cherchais! –

0

Vous pouvez utiliser ILMerge de Microsoft pour cela, ou l'outil Cecil du projet Mono.

+0

Cecil ne fusionne pas les assemblages. Eh bien, vous pourriez écrire une fusion avec elle, mais il n'y a pas de fonctionnalité intégrée. –

0

Vous pouvez créer un fichier d'installation. donc vous ne pouvez redistribuer qu'un seul fichier. Mais il va toujours être installé dans un dossier avec chaque ensemble séparé.

Vous pouvez également envisager de placer vos assemblages dans le GAC.

+0

Non, le GAC compliquerait inutilement les choses. –

+0

@Henk, je ne le recommande pas. Je viens de souligner que cette option est disponible. – ArielBH

0

Si vous trouvez ILMerge ne suffit pas parce que votre application a besoin des fichiers autres que des ensembles .net, j'ai trouvé que l'emballage comme auto-extractible exe à l'aide MakeSFX fonctionne bien. Cela semble improbable, mais avec des indicateurs de ligne de commande corrects, le bit auto-extractible est complètement transparent et fonctionne comme n'importe quelle autre application.

Questions connexes