6

我了解使用 NETFX_CORE 指令,如下所示:

#if NETFX_CORE 
    // Windows 8
#else 
    // Windows Phone 8
#endif

更多信息: http: //msdn.microsoft.com/en-us/library/windowsphone/develop/jj714084 (v=vs.105).aspx

但是是否有特定于 Windows Phone 8 的指令?

4

4 回答 4

9

是的,Windows Phone 指令是:

#if WINDOWS_PHONE

这被记录在这里,但我很惊讶这里没有提到它。我还在一些代码中对此进行了测试,并且可以正常工作。

于 2012-11-28T04:03:16.427 回答
4

WP8 应使用开发人员引入的自定义条件编译标志。在此处阅读有关此确切主题的更多信息。诺基亚有一整篇专门针对 WP7 和 WP8 进行编码的文章,我强烈建议您查看所有技术,看看哪种技术最适合您使用。

定义条件编译符号:

  1. 右键单击 WP 8 项目并选择属性。打开
  2. 项目设计器的构建页面并将 WP8 插入到条件编译符号中。在此之后,它们应该包含如下内容:SILVERLIGHT;WINDOWS_PHONE;WP8

这是内联代码示例

// Separate implementations for different OS versions
#if WP8
    // code using enhancements introduced in Windows Phone 8 
#else
    // code using Windows Phone OS 7.1 features 
#endif


// A new Windows Phone 8 feature
#if WP8
    // code using new Windows Phone 8 feature
#endif 
于 2012-11-29T01:53:36.743 回答
1

据我所知,没有这样的指令。但是如果没有,您可以使用:

#if !NETFX_CORE 
    // Windows Phone 8
#endif
于 2012-11-27T22:43:33.383 回答
0

但是是否有特定于 Windows Phone 8 的指令?

您可以定义自己知道的预处理器指令。WINDOWS_PHONE 恰好由 Windows Phone 项目的 Visual Studio 项目模板定义。

DEBUG、TRACE 以及您可能拥有的任何自定义项也是如此,例如 EXTENSIVE_LOGGING 或 LOOKING_FOR_A_CATBUS

于 2012-11-28T04:13:02.973 回答