可能针对不同的产品(或不同的平台),项目中的某些代码会不相同,那要怎样来生成不同的版本呢,如果针对每个版本保存一份源代码,浪费空间不说,上面我们新建的解决方案配置也没多大用处了。有人会说,出现这种情况表明重构的时候到了,这也是一个解决办法,不过有时候不同版本就一两句话的差别,怕是没必要,而且有的地方重构的思想会跟整个解决方案的思想相违背。还有一种办法就是使用编译器指令来生成不同版本。主要是使用#if
以及 #else、#elif、#endif这几个指令。如:
#if DEBUG
Console.WriteLine("Debug version");
#endif
为了能形象区分我们的版本,很多时候我们需要自定义添加编译符号(上例中的“DEBUG”就是条件编译符号)。条件编译符号的设置位置是:项目属性》生成》条件编译符号
如果我们把条件编译符号设为:“AAA”,则上例可以写为
#if AAA
Console.WriteLine("Debug version");//在控制台中换行输出
#endif
这样,我们就可以用编译器指令来让不同的解决方案配置编译不同的代码块了
如果我们把条件编译符号设为:“KennyDEBUG”,则上例可以写为
#if
KennyDEBUG
Response.Write("Debug version");//在控制台中换行输出
#else
Response.Write("test");
//是向aspx页面上写东西
#endif
《==========================================》
其实就是预编译和不同版本的区别
条件编译符号( 转载),码迷,mamicode.com
时间: 2024-11-25 10:07:22