在 visual studio 中的何处指定预处理器指令?

Where to specify preprocessor directives in visual studio?

试图在 Visual studio 2012 中定义预处理器指令。

#define FLAG
....
#endif

但不确定在 visual studio - C# 中的何处包含此 FLAG。我记得在 C++ 项目中指定了类似的内容。

有什么想法吗?

关于在何处定义它,您有两种选择:

  1. 代码文件级别 - 在文件开头写入#define FLAG。您不能在 define 指令之前放置任何其他内容(注释和空行除外)。正如 Ron Beyer 指出的那样,文件中定义的指令仅适用于该文件

  2. 项目级别 - 在解决方案资源管理器中右键单击项目,select Properties,然后 Build选项卡,然后查看 Conditional compilation symbols。然后可以在那里定义几个逗号分隔的符号,例如:FLAG,FOO,BAR。请注意,此符号列表依赖于项目配置(有配置 select 或在同一选项卡中)。


请注意,如评论中所述,define 在 C# 中的工作方式与在 C 中的工作方式不同。在 C# 中,您只需声明该符号存在,但不能为其赋值它。因此,这些符号仅用于 #if FLAG 指令和 the Conditional attribute.

出于某种原因,当点击属性时,我没有任何反应。所以我做了以下事情。它奏效了。

使用文本编辑器打开您的 csproj 项目文件,并在其中添加预处理器编译器指令。 <定义常量> 这里!!!