由于某些原因,任何类似以下代码的内容:
#if DEBUG
CallSomeMethod();
#endif
无论是调试模式还是发布模式,它始终为真。有什么想法吗?我该使用哪个设置来开启或关闭此功能?对于该项目,定义了DEBUG常量并设置为true。
谢谢。
由于某些原因,任何类似以下代码的内容:
#if DEBUG
CallSomeMethod();
#endif
您应该能够在项目属性中选择发布模式。右键单击项目,选择“属性”,然后单击窗口左侧的“构建”选项卡。从那里,您可以取消选中“定义DEBUG常量”框。确保您为发布版本执行此操作,而不是调试模式。
看起来你已经回答了自己的问题:
为了这个项目,需要将DEBUG常量定义为true。
这应该只在构建文件中有条件地设置,而不是总是设置。
这是因为在发布模式下,DEBUG
常量也是真的。
构建模式并没有什么特别之处 - 它只是一个带有名称的构建设置集合。如果您想要,您可以创建一个具有所有正常“调试”模式设置(反之亦然)的“发布”模式。
我在发布配置中保持了“定义DEBUG常量”的未选状态,但是当我运行了已发布的应用程序时,它仍在Debug模式下运行。
因为在发布应用程序时,配置选项中选择了'Debug'。这是一个愚蠢的错误。
请确保在发布时选择'Release'选项: 在配置中选择'Release'选项
当#if DEBUG
时,代码将在发布模式下省略为灰度,您可以使用Visual Studio IDE亲自查看。如果不是这种情况,则可以像@Kragen建议的那样,在类中定义DEBUG
,以便它也影响发布。