2

是否可以在 Visual Studio 2010 的不同项目中为不同的文件提供一些预处理器指令常量?这是我正在尝试做的一个例子:

在项目“A”的文件“1”中,我定义:TIMEDISPLAYING

 #define TIMEDISPLAYING

在项目“B”的文件“2”中,我检查了TIMEDISPLAYING:

 #if TIMEDISPLAYING
        //do something
 #else
        //do something else
 #endif

我知道在项目文件中我可以添加我的自定义常量。解决方案文件中是否有可以添加类似内容的地方?或者导入我所有自定义常量的其他类型的文件?

我目前在一个类中定义了布尔常量,但我希望我的代码基于常量编译,而 DEBUG 对我来说还不够。如果定义了 DEBUG,我的下一个解决方案是添加我的布尔常量:

 #if DEBUG
           protected const bool ISTIMEDISPLAYING = 1 == 1;

           protected const bool ISDATARANDOM = 1 == 0;

           protected const bool IS_AUTO_LOADING_CHAMP_VENDOR = 1 == 1;

           protected const bool IS_TESTING_PO = 1 == 0;
 #endif

我在这里的最后一个解决方案有什么替代解决方案吗?非常感谢任何帮助。

4

1 回答 1

2

您可以在 Visual Studio 中项目属性的“生成”选项卡上设置条件编译符号,而不是在代码中声明它们。不同的构建配置可以分配不同的条件编译符号,您可以根据需要创建任意数量的构建配置。这可能更容易管理,您不必担心将它们添加到哪个源文件,因为它们存储在项目本身中。

如果您希望基于条件编译符号包含或排除整个方法,您可能还会发现Conditional 属性很有用。

于 2011-11-16T01:08:51.913 回答