2012-05-23 102 views
2

在这个有趣的网络研讨会:单对Droid的:缺少__ANDROID__符号

http://www.youtube.com/watch?v=WkNbRUqnSSc

有关__ANDROID__符号的发言者的发言(和其他符号的更多具体到每个操作系统版本),可以帮助开发者写一个更清洁的跨平台代码。

我已经用MonoDevelop 2.8(在MacOS X下)创建了一个项目,而且这个符号似乎没有在项目中定义。

调查此问题,我注意到定义符号(使用项目属性面板)并不总是在MonoDevelop中工作,并且它们通常会使用颜色编码创建奇怪的东西。

回答

3

这是当前MonoDevelop环境中的一个小故障。 __ANDROID__在低级构建过程中定义,而不是csproj。所以代码会编译好,但编辑会很困惑。

我已经用Xamarin创建了一个bug/enhancement request,因为这可以将newbs(它做了我!)。

这个thread在monodroid邮件列表中有更多的信息。

因为我为每个平台都有独特的csproj文件 - 即使是共享代码 - 我只是创建自己的符号来解决这个问题。在MonoDevelop中:项目属性,Build-> Compiler,定义符号。