小编典典

#if RELEASE 会像 C# 中的 #if DEBUG 一样工作吗?

all

在我看到的所有#if
编译器指令示例中,它们都使用“DEBUG”。我可以以相同的方式使用“RELEASE”来排除在调试模式下编译时我不想运行的代码吗?我想用这个块包围的代码会发送一堆电子邮件,我不想在测试时不小心把它们发送出去。


阅读 208

收藏
2022-04-22

共1个答案

小编典典

不,它不会,除非你做一些工作。

这里重要的部分是 DEBUG 的真正含义,它是一种定义的常量,编译器可以检查。

如果您检查项目属性,在 Build 选项卡下,您会发现三件事:

  • 标有“条件编译符号”的文本框
  • 标有“定义调试常量”的复选框
  • 标有“定义跟踪常数”的复选框

没有这样的复选框,也没有名称为 RELEASE 的常量/符号预定义。

但是,您可以轻松地将该名称添加到标有条件编译符号的文本框中,但请确保在此之前将项目配置设置为发布模式,因为这些设置是每个配置的。

所以基本上,除非您将其添加到文本框中,#if RELEASE否则不会在任何配置下生成任何代码。

2022-04-22