在MonoDroid上重用MonoTouch库

时间:2011-04-26 00:03:22

标签: architecture xamarin.ios xamarin.android

我能够使用MonoTouch轻松将现有的.NET桌面应用程序移植到iPhone。作为该过程的一部分,我必须为我的所有项目创建新的iOS版本 - MonoTouch类库项目链接现有项目中的文件。这很有效。

现在我想做一个MonoDroid端口。我可以参考我的iOS库吗?或者他们需要成为MonoDroid类库吗?

MonoTouch和MonoDroid配置文件似乎是相同的,基于文档:

http://monotouch.net/Documentation/Assemblies http://mono-android.net/Documentation/Assemblies

有没有人在MonoDroid中使用过MonoTouch类库?

提前致谢

2 个答案:

答案 0 :(得分:6)

如果您使用的是MonoTouch 4.0,,程序集不会直接或间接引用monotouch.dll,那么您只需要从Mono for Android项目中引用程序集

请注意,此时您只能引用程序集(.dll)而不能引用项目(.csproj)。

反过来也应该是这样(引用Mono for Android程序集并在MonoTouch项目中使用,只要Mono for Android程序集不引用Mono.Android.dll)。

如果出现这种情况,请提出错误消息:我们完全打算让MonoTouch和Mono for Android API相互兼容。 (只要有可能,就是这样;除非/直到Apple删除了JIT限制,否则两个平台上都不会支持诸如System.Reflection.Emit之类的东西。)

答案 1 :(得分:0)

我们在尝试在MonoDroid和MonoTouch之间共享代码时遇到了同样的问题。我们在项目中解决这个问题的方法是使用包含共享代码的标准类库以及MonoDroid和MonoTouch类库,在这里我们添加了文件的链接(将现有文件添加到项目中并选择“Add as link”)。 / p>