2

在这个有趣的网络研讨会中:

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

演讲者谈到了可以帮助开发人员编写更清晰的跨平台代码的__ANDROID__符号(以及更具体的每个操作系统版本的其他符号)。

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

调查这个问题时,我注意到定义符号(使用项目属性面板)在 MonoDevelop 中并不总是有效,而且它们经常用颜色编码创建奇怪的东西。

4

1 回答 1

3

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

我用 Xamarin 创建了一个错误/增强请求,因为这可能会绊倒新手(它让我!)。

monodroid 邮件列表中的这个线程有更多信息。

由于每个平台都有唯一的 csproj 文件——即使是共享代码——我只需创建自己的符号来解决这个问题。在 MonoDevelop 中:项目属性,Build->Compiler,Define Symbols。

于 2012-09-22T14:20:58.307 回答