一尘不染

C#if / then调试和发布指令

c#

在“解决方案”属性中,对于我的唯一一个项目,我将“配置”设置为“发布”。

在主例程的开头,我有以下代码,并且显示“ Mode = Debug”。我在最上方也有这两行:

#define DEBUG 
#define RELEASE

我在测试正确的变量吗?

#if (DEBUG)
            Console.WriteLine("Mode=Debug"); 
#elif (RELEASE)
            Console.WriteLine("Mode=Release"); 
#endif

我的目标是根据调试与发布模式为变量设置不同的默认值。


阅读 322

收藏
2020-05-19

共1个答案

一尘不染

DEBUG/ _DEBUG应该已经在VS中定义了。

删除#define DEBUG代码中的。在该特定构建的构建配置中设置预处理器。

打印“ Mode = Debug”的原因是由于您的原因#define,然后跳过elif

正确的检查方法是:

#if DEBUG
    Console.WriteLine("Mode=Debug"); 
#else
    Console.WriteLine("Mode=Release"); 
#endif

不要检查RELEASE

2020-05-19