2008-10-14 10 views
2

J'ai une base source qui, en fonction des drapeaux définis au moment de la construction, crée deux applications différentes. Je peux construire ces deux applications en utilisant un Makefile en spécifiant deux cibles différentes, une qui compile avec un drapeau et une qui compile sans, et ayant une cible agrégée qui construit les deux.Comment créer deux applications différentes à partir d'un projet Visual C#?

Comment faire l'équivalent de Visual C# Express sur Windows?

Répondre

2

Créez une solution avec deux fichiers de projet dans le même dossier. Définissez deux configurations différentes dans votre solution, l'une d'entre elles constituant l'un des projets, l'autre créant l'autre projet.

Alternativement, vous pouvez avoir un projet qui construit toujours en binaire intermédiaire et qui a ensuite une étape de post-construction qui le copie dans le binaire final en fonction du drapeau.

+0

Une solution avec deux fichiers de projet n'est pas parfaite, mais elle est presque parfaite. –

0

Version vs débogage? Vous pouvez également créer vos propres configurations personnalisées. Mais construire une application complètement différente basée sur la configuration semble être une mauvaise idée.

Le studio visuel normal peut avoir plusieurs projets dans une seule solution, et je pense qu'il y a un moyen de pousser cela dans l'édition Express (peut-être en ouvrant une solution créée ailleurs). Vraiment, cependant, vous devrez peut-être vous contenter de garder deux instances de Visual Studio ouvertes à la fois. Vous pouvez toujours définir l'un d'entre eux directement dans le dossier/bin/Release/de l'autre projet si vous le souhaitez.

+0

Je ne veux pas créer des applications différentes dans différentes configurations, je veux construire deux applications dans la version et deux dans Debug. –

0

Je ne sais pas exactement sur les versions Express, mais dans Visual Studio, il existe un élément de menu Build->Batch Build pour générer toutes les configurations à la fois. Je ne trouve pas de studio visuel facile à utiliser lorsque j'ai des scénarios de sortie de build complexes. Ce que je fais généralement dans ces situations est l'utilisation NAnt avec un outil d'intégration continue comme CruiseControl.Net. Vous pouvez également créer localement les sorties du projet avec le même script NAnt.

Un script NAnt est essentiellement un fichier de construction Xml avec plus de fonctionnalités.