在visual studio中指定预处理程序指令的位置?

now*_*ed. 5 c# visual-studio-2012

尝试在Visual Studio 2012中定义预处理程序指令.

#define FLAG
....
#endif
Run Code Online (Sandbox Code Playgroud)

但不确定,FLAG在Visual Studio中将其包含在哪里- C#.我记得在C++项目中指定了类似的东西.

有什么想法吗 ?

Kon*_*man 16

您有两种选择:

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

  2. 在项目级别定义它.在解决方案资源管理器中右键单击项目,选择"属性",然后选择"构建"选项卡,然后查看"条件编译符号".您可以在此处定义几个以逗号分隔的符号:FLAG,FOO,BAR.请注意,此符号列表取决于项目配置(在同一选项卡中有一个配置选择器).

而且,随着EBrown的出现,define在C#中的工作方式与在C中的工作方式相同.在C#中,您只需声明该符号存在,但您无法为其赋值.因此,这些符号的唯一用途是#if FLAG指令和Conditional属性.

  • 另请注意,您不能为这些定义指定*值*。您只能指定*定义本身。* (2认同)