条件符号不起作用

时间:2013-12-11 12:47:12

标签: c# visual-studio dll conditional-compilation

我有一个包含以下代码片段的类库:

#if (DEBUG && CLOUD)
    return "DEBUG && CLOUD";
#elif (DEBUG && !CLOUD)
    return "DEBUG";
#else
    return "Release";
#endif

当我将这个库引用到我的应用程序中时,即使定义了CLOUD,我也只获得了DEBUG或Release作为返回值。

2 个答案:

答案 0 :(得分:1)

行为非常奇怪,所以我在配置属性选项卡下找到了解决方案属性。我对Visual Studio的工作感到震惊。

enter image description here

答案 1 :(得分:1)

案例#1:

#define DEBUG 1
#define CLOUD 1

- > return "DEBUG && CLOUD";

案例#2:

#define DEBUG
#define CLOUD

- > return "Release";

从这个例子可以得知#if (cond)评估数字条件。

如果您只想检查定义,请执行以下操作:

#if defined DEBUG && defined CLOUD