【问题标题】:How to find out if my assembly can be used by Mono, MonoTouch, MonoDroid?如何确定我的程序集是否可以被 Mono、MonoTouch、MonoDroid 使用?
【发布时间】:2012-07-16 02:23:39
【问题描述】:
我是 Mono 的新手。我有一个 .NET Framework 3.5 程序集,我想知道是否可以将它与单声道一起使用。具体来说:
我需要使用 Mono 编译我的 .NET 项目,还是 Mono 会运行我从 Visual Studio 编译的 .NET 程序集?
是否有单独的 MonoDroid 和 MonoTouch 编译器?
mono 是否适用于混淆程序集?
如何在 Mono、MonoDroid 和 MonoTouch 中测试我的程序集?我真的需要购买 Android 和 iPhone 还是有单声道模拟器?
【问题讨论】:
标签:
c#
.net
mono
xamarin.ios
xamarin.android
【解决方案1】:
Mono 将运行使用 Visual Studio 编译的程序集。 MonoTouch 和 Mono for Android 程序集通常需要使用提供的 mono 编译器重新编译,以确保它针对 正确框架程序集进行编译(因此您没有使用在运行时不可用);
每个都带有自己的 smcs 编译器,但它们大部分是相同的(在 MonoTouch 和 Android 的 Mono 之间),即一个可能比另一个更新一些,具体取决于在发布日期;
这取决于如何进行混淆。有些工具会做不符合 ECMA 但 MS JIT 允许的事情。这些技巧现在可能适用于 Mono。
MonoTouch 和适用于 Android 的 Mono 均作为试用版提供,可与 iOS 模拟器 (MonoTouch) 或 Android 模拟器(适用于 Android 的 Mono)一起使用。然而,模拟器和仿真器并不是真正的东西(例如性能甚至功能),因此您最终需要设备来确保事情按预期工作(但您可以在没有硬件的情况下开始)。