2016-09-20 81 views
0

我们预处理器指令在Visual Studio的C#,例如:不C#允许预处理指令不同的解决方案

#define CONDITION1 

#if CONDITION1 
    Console.WriteLine("Version1"); 
#else 
    Console.WriteLine("Version2"); 
#endif 

但我应该怎么做,如果我有一个图书馆,并希望它以不同的编译成不同的解决方案?

例如,我想要在solution1中定义CONDITION1,在solution2中定义#define CONDITION2,我应该怎么做?

+1

也许[此帖](http://stackoverflow.com/questions/2355340/how-do-i-define-a-preprocessor-symbols-in-c-sharp-visual-studios)是一个选项。在项目级别(而不是解决方案级别),您可以定义一个符号,然后您可以检查该符号是否在那里以了解您所在的项目。 – Quantic

回答

0

除非您将原始C#项目分发到几个解决方案中,否则您运气不好。如果你要走这条路线,你可以像使用其他#define一样使用它们。

大部分库都是作为预编译源代码发布的,这意味着所有的#define都已经被处理了。你必须回到配置值(这正是应该如何处理这样的行为)。