【问题标题】:Is there compilation symbol to detect compact framework?是否有编译符号来检测紧凑框架?
【发布时间】:2010-04-16 20:07:44
【问题描述】:

是否有编译符号来检测它是否在紧凑的框架平台上运行

【问题讨论】:

    标签: c# .net windows compact-framework mobile


    【解决方案1】:

    您的问题不连续。您在询问编译符号,因此仅在设计时存在,并在运行时检测条件。所以你的问题是你真正追求的是哪一个?

    如果您想在运行时知道您是否在 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
    

    但没有什么可以说开发人员不能删除该符号(或将其添加到桌面项目中)。

    【讨论】:

      【解决方案2】:

      或者简单地说:

      基本的想法是用#if 编译器指令为每个框架版本装饰你的代码?

      #if CFNET
      // .net CF code
      #else
      // .net code
      #endif
      

      here 的帖子回答了你的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-30
        • 2010-10-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多