Причина, почему есть MonoTouch и Mono для Android конкретные библиотеки часто из-за (меньше, Silverlight типа) профайла (например, то, что зависит от новых возможностей FX4.0 необходимо вырезать). Они часто имеют тот же код, скомпилированный с SILVERLIGHT
(или MONOTOUCH
, MONODROID
).
Причина, по которой MonoTouch составляет только, зависит от того, что его среда (устройства iOS) не позволяет JIT'ing. Таким образом, нет кода генерации (например, System.Reflection.Emit
) или динамического (вниз) кода загрузки ... Однако часто бывает возможно обеспечить (менее эффективные) обходные пути или пропустить несколько функций и оставить специальную версию библиотеки для MonoTouch.
Теперь вернемся к тому, чтобы иметь одиночный общий сбор/проект. специальный MonoTouch сборки (как правило, тот же код перекомпилировать с MONOTOUCH
определен) еще действует сборка .NET и часто могут быть использованы в Mono для Android, Mono или .NET (один раз перекомпилированной, даже с MONOTOUCH
). Это окончательно не оптимально, но это то, что вы можете попробовать.
Еще один испытывает те же проекты (например, MYLIB), через несколько решений (например, MonoTouchApp, M4AndroidApp) и использовать специальные конфигурации (так же, как есть в iPhone | Debug один), чтобы установить различные определяет (например, MONOTOUCH
на iPhone * | *). Это может позволить вам сохранить лучшую реализацию функций на всех платформах (например, если одна и та же функция реализована по-разному).
Я бы попробовал позже (config), а затем разделил специальную сборку MonoTouch и, наконец, (если она действительно не работает) ищет другие альтернативы.