43 votes

Façons de déployer des applications console en C #

J'ai un relativement complexe de l'application de la console qui s'appuie sur plusieurs dll. Je voudrais "navire" ce dans la meilleure forme. Mon préféré serait un fichier exe avec toutes les dépendances intégré (pas très grand, environ 800K). Une autre chose serait de simplement zip le contenu de la "Debug" du dossier et la rendre disponible, mais je ne sais pas si tout sera disponible comme ça (avec tous les dépendances être résolu par les compresser le dossier de débogage?)

Donc ma question est: qu'est Ce fiable il existe des pratiques pour le déploiement de la console d'applications écrites en C# à l'aide de VisualStudio 2008?

(Encore une fois, toutes mes excuses pour les naïfs question.)

Merci.

RÉPONSE: je vous Remercie beaucoup à tous. J'ai décidé de temporairement(!?) accepter de Jon réponse... simplement par le rasoir d'Occam argument. Nous allons voir comment il évolue. Si ça ne marche pas, je vais changer la réponse. J'ai également voté jusqu'Brien réponse, parce que c'est une bonne idée, tout simplement trop "impliqués" pour ma part (il y a aussi un problème d'utilisabilité: il permet aux utilisateurs pensent qu'ils obtiendront un programme windows, quand ils n'obtenir qu'une console). Merci encore.

43voto

Jon Skeet Points 692016

Si vous il suffit de copier le Foo.exe, les dll et les Foo.exe.les fichiers de configuration, il est susceptible d'être d'accord. Jetez un oeil à ce que le reste est dans le dossier de débogage, mais - vous (probablement) ne veulent pas le navire .fichiers pdb, ou Foo.vshost.exe. Est-il autre chose? Si vous avez des éléments marqués que le Contenu qui sont copiés dans le dossier de sortie, vous aurez besoin de ces trop.

Vous pourriez utiliser ilmerge pour mettre toutes les dépendances dans un fichier exe, mais je suis un peu réticent à l'idée de cette approche - je coller avec exe + dépendance dll.

13voto

brien Points 1799

Vous devez examiner les projets d’installation dans Visual Studio. Ils vous permettent de configurer des dépendances et d'inclure les DLL dont vous avez besoin. Le résultat final est un fichier setup.exe et un programme d'installation MSI.

Voici une solution qui devrait aider.

5voto

Kane Points 8873

Une autre option pourrait être d’utiliser Windows Installer XML ( http://wix.sourceforge.net/ ). Nous l'utilisons au travail et il offre plus de fonctionnalités pour les installations complexes que les projets de déploiement Visual Studio standard.

2voto

Andrew Hare Points 159332

Les réponses de Jon sont bonnes - je recommanderais également ILMerge comme outil pour simplifier votre déploiement en vous permettant de fusionner votre exécutable avec toutes ses dépendances. Cela vous permettrait d'avoir Foo.exe qui contiendrait également toutes vos dll.

2voto

Cheeso Points 87022

OU vous pouvez utiliser un fichier ZIP auto-extractible. Regroupez tous les fichiers normaux (.exe, .dll, .config et tout le reste) dans un fichier zip. Effectuez une extraction dans un répertoire temporaire et définissez le programme d'exécution sur extraction comme étant le fichier exe de la console.

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