Повторное использование библиотеки MonoTouch на MonoDroid

Мне удалось легко перенести существующее настольное приложение .NET на iPhone с помощью MonoTouch. В рамках этого процесса мне пришлось создать новые «версии» всех моих проектов для iOS - проекты библиотеки классов MonoTouch, связывающие файлы из моих существующих проектов. Это прекрасно работает.

Теперь хочу сделать порт MonoDroid. Могу я просто сослаться на свои библиотеки iOS? Или они должны быть библиотеками классов MonoDroid?

Профили MonoTouch и MonoDroid кажутся одинаковыми, судя по документации:

http://monotouch.net/Documentation/Assemblies http://моно-android.net/Documentation/Assemblies

Кто-нибудь использовал библиотеку классов MonoTouch с MonoDroid?

заранее спасибо


person TheNextman    schedule 26.04.2011    source источник


Ответы (2)


Если вы используете MonoTouch 4.0, и сборка не ссылается на monotouch.dll (прямо или косвенно), тогда вам просто нужно ссылаться на сборку из вашего проекта Mono для Android.

Обратите внимание, что в настоящее время вы можете ссылаться только на сборку (.dll), но не на проект (.csproj).

Обратное также должно быть верным (обратитесь к сборке Mono для Android и используйте ее в своем проекте MonoTouch, если сборка Mono для Android не ссылается на Mono.Android.dll).

Если это не удается, сообщите об ошибке: мы полностью рассчитываем, что API-интерфейсы MonoTouch и Mono для Android будут совместимы друг с другом. (По возможности, такие вещи, как System.Reflection.Emit, никогда не будут поддерживаться на обеих платформах, если / пока Apple не снимет ограничение JIT.)

person jonp    schedule 26.04.2011

У нас была такая же проблема с попыткой совместного использования кода между MonoDroid и MonoTouch. В нашем проекте это было решено с помощью стандартной библиотеки классов, содержащей общий код, и библиотеки классов MonoDroid и MonoTouch, куда мы добавляли ссылки на файлы (вы добавляете существующий файл в проект и выбираете «Добавить как ссылку»).

person Pking    schedule 30.01.2012