【Unity】关于VS条件编译符号

写在前面

  • 起因:我在回顾LuaFramework_UGUI(作者Jarjin Lee)代码时,看到了C#代码中的条件编译符号,比如下图的ASYNC_MODE。虽然字面上知道是什么意思,但我对VS的条件编译符号其实不太清楚,所以查了下资料,写下此博文作为记录。

VS条件编译符号

在VS里

怎么加

  • 以VS工程TestMisc为例,打开项目属性面板,如下图(项目->TestMisc属性)。

打开项目属性面板

  • 在项目属性面板的“生成”页下,选择条件编译符号所在“配置”,添加或编辑要用的条件编译符号,修改完按Ctrl+s保存。如下图,我在名为“Debug”的配置下,新加了一个条件编译符号aaa。如果切换到其他“配置”(比如切换到“Release”配置),是不能看到条件编译符号aaa的。

怎么用

  •  作为对比,我在配置管理器中新建了一个名为“Local”的配置,具体操作如下:

打开配置管理器

 

 新建配置

 

 新配置起名为Local

  • 按前面的方法,我在Local配置下新加了一个名为bbb的条件编译符号。

  • 在主程序里,我加入以下测试代码,测试在Local配置下,和在Debug配置下的打印情况。
static void Main(string[] args)
{

#if aaa
    Console.WriteLine("this is aaa");
#endif

#if bbb
    Console.WriteLine("this is bbb");
#endif

    Console.ReadLine();

}

  测试结果:在Debug配置下,只能看到aaa的打印;在Local配置下,只能看到bbb的打印。

Debug配置下,只能看到aaa的打印

 

 Local配置下,只能看到bbb的打印

  •  显然,条件编译符号只能在指定配置下使用,它们的触发条件都是true(就是都能用的意思)。

 在Unity里

怎么加

 怎么用

  • 加完即可在代码中使用条件编译符号。

 

原文地址:https://www.cnblogs.com/caiger-blog/p/14425260.html