用于 Droid 的 Mono:缺少 __ANDROID__ 符号
Posted
技术标签:
【中文标题】用于 Droid 的 Mono:缺少 __ANDROID__ 符号【英文标题】:Mono for Droid: missing __ANDROID__ symbol 【发布时间】:2012-05-30 04:24:16 【问题描述】:在这个有趣的网络研讨会中:
http://www.youtube.com/watch?v=WkNbRUqnSSc
演讲者谈到了__android__
符号(以及其他更特定于每个操作系统版本的符号),它可以帮助开发人员编写更简洁的跨平台代码。
我使用 MonoDevelop 2.8(在 MacOS X 下)创建了一个项目,但该符号似乎没有在项目中定义。
调查这个问题时,我注意到在 MonoDevelop 中定义符号(使用项目属性面板)并不总是有效,而且它们经常用颜色编码创建奇怪的东西。
【问题讨论】:
【参考方案1】:这是当前 MonoDevelop 环境中的一个小故障。 __ANDROID__ 是在低级构建过程中定义的,而不是在 csproj 中定义的。所以代码会编译OK,但是编辑器会很糊涂。
我已经用 Xamarin 创建了一个 bug/enhancement request,因为这可能会绊倒新手(它对我有影响!)。
monodroid 邮件列表中的这个thread 有更多信息。
由于每个平台都有唯一的 csproj 文件——即使是共享代码——我只是创建自己的符号来解决这个问题。在 MonoDevelop 中:项目属性、Build->Compiler、Define Symbols。
【讨论】:
以上是关于用于 Droid 的 Mono:缺少 __ANDROID__ 符号的主要内容,如果未能解决你的问题,请参考以下文章