可以使用monodroid在安卓设备上编译C#代码吗?我想在我的Android平板电脑上运行C#代码,monodroid看起来是可行的解决方案,但我没有发现monodroid编译器只能在windows/mac上运行还是在Android上也能运行。
发布于 2012-09-17 21:06:30
我原本打算把这篇文章作为对克里斯·辛克莱的答案的评论,但我认为它会结束得足够长,所以它可能会是一个单独的答案。
我编写了C# to Go,所以我可以在那里提供一些注释。它实际上是用Mono for Android编写的。然而,说Mono for Android做了从C#到Java的转换或编译是不正确的。应用程序中的C#代码运行在Mono运行时之上,可调用接口用于在运行时之间来回通信(有关这方面的更多详细信息,请参阅this answer )。
回到去年我第一次发布C# to Go的时候,我写了一篇a blog post,描述了我是如何把它组合在一起的。基本上,我使用的是Mono的C#编译器服务的一个版本,它是我针对Mono for Android profile编译的。该应用程序的所有源代码也都是available on GitHub。
这不是一个完美的解决方案,因为当前的实现存在一些问题(其中一些问题在博客文章中有详细介绍)。目前,由于Mono运行时的问题,我无法支持在应用程序中创建/编译类。这是一个记录在案的问题,已在Mono的后续版本中修复,但由于Mono for Android仍基于Mono 2.10,因此尚未获得这些修复。我的理解是,Xamarin将在今年晚些时候开始致力于将Mono for Android (以及MonoTouch)升级到mono2.12,这也应该会带来这些修复,加上C#编译器服务,避免了像我一样将其作为一个单独的库引入。
https://stackoverflow.com/questions/12422338
复制相似问题