如何在Android中使用没有Xamarin的mono运行C#代码



我想创建一个使用mono运行时来运行C#代码(二进制而非应用程序)的程序。

我从Unity应用程序中复制了libmono.so,并使用以下文档编写代码:

http://www.mono-project.com/docs/advanced/embedding/

它正在工作,但我的引用有问题,我只能访问mscorlib.dll中的类,我的System.Reflection.Assembly类有问题,它引发异常,当我将它打印到控制台时,我看到:

System.MissingMethodException: Method not found: 'System.Reflection.Assembly.op_Inequality'

我能修好吗?

我可以在Android上使用C二进制的mono运行时吗?

PS。我正在使用安卓系统进行测试。

编辑:我找到了一个加载库的解决方案,它需要将环境变量MONO_PATH设置为库路径。

但我对Assembly类仍然有问题。

您遇到的System.MissingMethodException错误看起来像是.NET配置文件不匹配的错误,就像这里解释的那样。

我可以在Android上使用C二进制的mono运行时吗?

是的,我想是用NDK。但也有一些替代方案可以使用,而不是自己滚动,比如XmaDevLab。

最新更新