Как собрать ServiceStack для использования с MonoDroid?

Я пытаюсь использовать ServiceStack REST DTO и OrmLite с monoDroid. Но я не могу понять, как построить ServiceStack для его использования.

По умолчанию у меня возникает ошибка при развертывании на мобильное устройство:

C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(464,2): ошибка: исключение при загрузке сборок: System.IO.FileNotFoundException: не удалось загрузить сборку System.Configuration, Version= 2.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a'. Возможно, его нет в профиле Mono для Android?


person Anton    schedule 19.04.2012    source источник
comment
dotnet.dzone.com/articles/monodroid-public-beta   -  person David Brabant    schedule 19.04.2012
comment
Мне просто нужно собрать ServerStack в настройках проекта MonoDroid, чтобы использовать ссылки MonoDroid, тогда он работает.   -  person Anton    schedule 20.04.2012


Ответы (1)


Проблема заключалась в том, что вы пытались использовать DLL-библиотеку ServiceStack, скомпилированную для полного профиля .NET из вашего приложения Mono для Android, что обречено на провал. В данном конкретном случае произошел сбой, потому что у этой библиотеки DLL была зависимость от System.Configuration, которая не включена в профиль Mono для Android. Чтобы использовать библиотеку с вашим приложением, вы должны скомпилировать ее исходный код с профилем Mono для Android, который проверит, что профиль поддерживает ее, и позволит вам безопасно ссылаться на нее из вашего приложения.

При попытке скомпилировать версию существующей библиотеки Mono для Android проще всего начать со сборки Silverlight для нее (если она есть). Поскольку библиотека базовых классов, предоставляемая Silverlight, очень похожа на библиотеку Mono для Android, набор файлов/символов компиляции обычно также совпадает между ними. У меня есть старый пост здесь рассказывается о том, как связать файлы из других проектов, чтобы правильно скомпилировать библиотеку классов.

person Greg Shackles    schedule 20.04.2012