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

在主程序的开头,我有这个代码,它显示“模式=调试”。
我在最顶部也有这两行:

#define DEBUG
#define RELEASE

我在测试正确的变量吗?
#if (DEBUG)
            Console.WriteLine("Mode=Debug");
#elif (RELEASE)
            Console.WriteLine("Mode=Release");
#endif

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

最佳答案

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

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

它打印 "Mode=Debug"的原因是因为你的 #define 然后跳过了 elif

正确的检查方法是:

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

不要检查 RELEASE

关于用于调试与发布的 C# if/then 指令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2104099/

10-16 04:19