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

标签 c# visual-studio-2010 c-preprocessor

我正在使用 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如果默认情况下不显示。

最佳答案

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

在项目的属性中,转到您的 x64/调试配置/平台,然后选中“构建”选项卡。有一个名为:“Define DEBUG constant”的复选框。确保已选中。

关于c# - 将解决方案更改为 x64 后,编译器指令 #if 不再识别 DEBUG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11957236/

相关文章:

c# - 在 Json.Net 的 JsonConverter<> ReadJson() 中,为什么 reader..Value 为空?

c - 需要 IP header 解释

macros - gcc 预编译器指令 __attribute__ ((__cleanup__)) vs ((cleanup)) (带下划线还是不带下划线?)

c# - 使用自动布局约束时,Syncfusion SfRangeSlider slider 和标签未正确对齐

C# - 使用哪种数据结构 - 以 180 位操作和存储国际象棋位置?

c# - 如何等待方法中创建的所有线程

wpf - WPF 中仅设计时的背景颜色?

c++ - 我如何告诉编译器为每个编译的函数添加一个函数调用?

visual-studio-2010 - Crystal Reports从数据集中包装文本字段

c - 是否可以将一个预处理器的输入用于 C 中的另一个预处理器?