在解决方案属性中,我已经将我唯一的项目的配置设置为“发布”。
在主例程的开头,我有这样的代码,它显示“Mode=Debug”。
我在最上面还有这两行:
#define DEBUG
#define RELEASE
我测试的变量对吗?
#if (DEBUG)
Console.WriteLine("Mode=Debug");
#elif (RELEASE)
Console.WriteLine("Mode=Release");
#endif
我的目标是根据调试和发布模式为变量设置不同的默认值。
默认情况下,如果项目在调试模式下编译,Visual Studio定义DEBUG,如果项目在发布模式下编译,则不定义DEBUG。默认情况下,RELEASE模式中没有定义RELEASE。可以这样说:
#if DEBUG
// debug stuff goes here
#else
// release stuff goes here
#endif
如果你只想在发布模式下做某事:
#if !DEBUG
// release...
#endif
此外,值得指出的是,您可以在返回void的方法上使用[Conditional("DEBUG")]属性,以便仅在定义了某个符号时执行它们。如果符号没有定义,编译器将删除对这些方法的所有调用:
[Conditional("DEBUG")]
void PrintLog() {
Console.WriteLine("Debug info");
}
void Test() {
PrintLog();
}