2017-06-14 6 views
0

Mon contexte de travail est que j'ai deux solutions dans Visual Studio. Chacune de ces solutions va construire une application différente. Chacun d'entre eux a le projet de démarrage, c'est-à-dire l'interface utilisateur pour chacun d'entre eux et les deux solutions utilisent le même projet (à partir d'un autre référentiel) comme structure de base pour la fonctionnalité. Ensuite, chaque solution consiste en un projet d'interface utilisateur et un projet non-interface utilisateur qui construit une DLL. Comme les applications sont différentes (chacune est pour un client différent) et chacun d'eux aura certaines fonctionnalités activées, mais pas toutes, et je ne veux pas compiler la DLL non UI avec tous les code, je dois être capable de compiler les solutions avec seulement le code nécessaire pour chaque application. Pour être plus précis, imaginez que le projet de base (la DLL) a trois caractéristiques: A, B et C Je veux être en mesure de configurer la solution, de sorte que le projet UI 1 ne compile que la DLL avec des fonctionnalités A et B, tandis que le projet d'interface utilisateur 2 ne compile que la DLL avec la fonctionnalité C activée.Fonctions de filtre d'un projet DLL lors de la compilation de la solution VisualStudio

Pourriez-vous me diriger dans la bonne direction pour y parvenir?

Merci d'avance à vous tous!

Répondre

0

Essayez de regarder cela.

La directive #if, avec les directives #elif, #else et #endif, contrôle la compilation des parties d'un fichier source. Si l'expression que vous écrivez (après la> #if) a une valeur non nulle, le groupe de ligne immédiatement après la directive #if> est retenue dans l'unité de traduction

de MSDN

#if defined(FEATUREONE) 
    feature1(); 
#elif defined(FEATURETWO) 
    feature2(); 
#else 
    Default(); 
#endif 
+0

Merci Pribina C'est ma solution actuelle, mais j'essaie de trouver différentes options, donc la solution pourrait être plus évolutive. Si dans un avenir nous avons plus de deux interfaces utilisateur différentes, l'utilisation de ces directives ne sera pas trop propre –

+0

je creuse dans peu et j'ai trouvé un codeproject https://www.codeproject.com/Articles/451734/Visual -Studio-Use-Conditionnel-Compilation-to-Contr – Pribina

+0

Merci encore Pribina. Je ne suis pas totalement sûr si cela fonctionnerait pour moi. Ma principale concercn est d'avoir une interface utilisateur qui crée ces symboles de compilation conditionnelle, et en fonction de ceux-ci, le projet qui génère la DLL compile une partie du code ou tout le code Mais ce dont j'ai besoin, c'est que le projet DLL n'a pas besoin pour savoir quoi que ce soit de l'interface utilisateur –