【发布时间】:2010-04-16 20:07:44
【问题描述】:
是否有编译符号来检测它是否在紧凑的框架平台上运行
【问题讨论】:
标签: c# .net windows compact-framework mobile
是否有编译符号来检测它是否在紧凑的框架平台上运行
【问题讨论】:
标签: c# .net windows compact-framework mobile
您的问题不连续。您在询问编译符号,因此仅在设计时存在,并在运行时检测条件。所以你的问题是你真正追求的是哪一个?
如果您想在运行时知道您是否在 CF 下,请检查 Environment.OSVersion.Platform 属性以查看它是否为 WinCE。
if(Environment.OSVersion.Platform == PlatformID.WinCE)
{
// this is CF
}
在编译时它并不那么简单。默认项目向导为 PPC/WinMo 项目添加编译符号“PocketPC”,为 WinCE 项目添加“WindowsCE”,为 Phone7 项目添加“WINDOWS_PHONE”,因此您可以执行以下操作:
#if WindowsCE || PocketPC || WINDOWS_PHONE
// this is CF
#endif
但没有什么可以说开发人员不能删除该符号(或将其添加到桌面项目中)。
【讨论】:
或者简单地说:
基本的想法是用#if 编译器指令为每个框架版本装饰你的代码?
#if CFNET
// .net CF code
#else
// .net code
#endif
here 的帖子回答了你的问题。
【讨论】: