Bri*_*van 263 .net c# debugging
在我看过#if编译器指令的所有例子中,他们使用"DEBUG".我可以以相同的方式使用"RELEASE"来排除在调试模式下编译时我不想运行的代码吗?我想用这个块包围的代码会发出一堆电子邮件,我不想在测试时不小心将它们发送出去.
M4N*_*M4N 379
RELEASE
没有定义,但你可以使用
#if (!DEBUG)
...
#endif
Run Code Online (Sandbox Code Playgroud)
ang*_*son 259
不,它不会,除非你做一些工作.
这里的重要部分是DEBUG的真正含义,它是编译器可以检查的一种常量定义.
如果检查项目属性,在Build选项卡下,您会发现三件事:
没有这样的复选框,也没有预定义的名称为RELEASE的常量/符号.
但是,您可以轻松地将该名称添加到标记为条件编译符号的文本框中,但请确保在执行此操作之前将项目配置设置为释放模式,因为这些设置是按配置进行的.
所以基本上,除非您将其添加到文本框中,#if RELEASE
否则不会在任何配置下生成任何代码.
Pop*_*lin 40
不.
在调试配置中,有一个DEBUG
定义的常量(由Visual Studio自动定义),而没有为发布模式定义的此类常量.检查构建下的项目设置.
在Project - > Build下选择[Define DEBUG constant] 就像在每个文件的开头包含#define DEBUG一样.
如果要为发布配置定义RELEASE常量,请转到:
Jar*_*Par 24
在我的VS安装(VS 2008)#if RELEASE
不起作用.但是你可以使用#if !DEBUG
例:
#if !DEBUG
SendTediousEmail()
#endif
Run Code Online (Sandbox Code Playgroud)
Pet*_* H. 10
我以前从未见过......但我看到过:
#if (DEBUG == FALSE)
Run Code Online (Sandbox Code Playgroud)
和
#if (!DEBUG)
Run Code Online (Sandbox Code Playgroud)
你的工作是什么?