#if DEBUG始终为真,适用于DEBUG和RELEASE模式。

问题描述 投票:7回答:5

出于某种原因,任何像:

#if DEBUG
    CallSomeMethod();
#endif

不管是调试还是发布模式,都是真的。 有什么想法,为什么,我可以用什么设置来开启或关闭该功能? 对于项目,定义DEBUG常量设置为true。

谢谢。

.net visual-studio-2010 visual-studio-2010-sp1
5个回答
15
投票

你应该可以在你的项目属性中选择发布模式。 右键点击你的项目,选择属性,然后点击窗口左边的构建标签。 从那里,你可以取消选中 "定义DEBUG常量 "框。 确保你是针对发布版构建,而不是调试模式来做的。

enter image description here


5
投票

似乎你在回答自己的问题。

对于项目来说,定义DEBUG常量被设置为true.

这只应该在构建文件中有条件的设置,而不是一直设置。


0
投票

这将是因为 DEBUG 常数也适用于发布模式。

构建模式并没有什么特别之处--它只是一个带有名称的构建设置的集合。 如果你愿意,你可以创建一个 "Release "模式,其中包含所有正常的 "Debug "模式设置(反之亦然)。


0
投票

#if DEBUG如果不是这样的话,也许像@Kragen建议的那样,你可以定义 DEBUG 某个地方,所以它也会影响释放。


0
投票

以上的方法对我来说都没有用。 在我的案例中,有人将所有项目的配置都设置为指向调试。 我恢复了修改,然后就成功了。 所以,如果上面的解决方案对你不起作用,请检查你的配置管理器,验证配置是否设置正确。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.