更改解决方案为x64后,编译器指令#if不再识别DEBUG。

6
我正在使用Visual Studio 2010 C#。最近,我通过配置管理器将解决方案中的所有项目改为x64,除此之外还更改了所有项目的构建属性。从那时起,“#if (DEBUG)”指令似乎不起作用,就像DEBUG常量消失了一样。
#if (DEBUG)
    // This code does not execute even in debug mode!
#endif

我还注意到,与通常的bin\Debugbin\Release文件夹不同,项目现在被编译成bin\x64\Debugbin\x64\Release

我搜索了一下,但大多数相关的结果都涵盖了如何配置x64(如果默认情况下未显示)。

1个回答

15

创建x64平台时,很可能该平台的调试设置未定义DEBUG常量。

在项目属性中,转到x64 / Debug配置/平台,并检查“生成”选项卡。有一个名为:“定义DEBUG常量”的复选框,请确保勾选。


谢谢。我有点傻,没有注意到这一点,但是当转换架构时,VS的友好行为应该是将设置复制到新平台。 - Raheel Khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接