Ninject и MonoDroid - PullRequest
       8

Ninject и MonoDroid

1 голос
/ 03 апреля 2012

Кому-нибудь посчастливилось заставить Ninject работать на MonoDroid?Я попробовал моно версии 2.0 и 4.0 со своего веб-сайта, а также пробные версии .net.

С моно сборками я получаю исключение MissingMethodException при создании экземпляра моего StandardKernel

Ответы [ 2 ]

5 голосов
/ 19 мая 2012

Я экспериментирую с Ninject на совместном проекте WP7 / Monotouch / Mono для Android, и Ninject работает на удивление хорошо.

Я использовал последние источники, которые содержат файл проекта Ninject.WP7.csproj, который, похоже, устарел. Он содержит много DefineConstants. Я создал новые решения WP7 / Monotouch / Mono для Android с этими константами, и все скомпилировано и работает!

Используемые константы:

SILVERLIGHT,SILVERLIGHT_40,NO_LCG,NO_ASSEMBLY_SCANNING,NO_WEB,NO_PARTIAL_TRUST,NO_SKIP_VISIBILITY,NO_EXCEPTION_SERIALIZATION,NO_DEBUG_SYMBOLS

не уверен, что все они необходимы, но SILVERLIGHT важен, потому что Monotouch / Mono для Android реализуют большую часть API Silverlight.

Конечно, вы не можете создавать действия Android с Ninject. Я использую его главным образом для внедрения в конструктор, для создания объектов .Net, таких как ViewManager, просмотра моделей с помощью репозитория и т. Д., Как обычно, с помощью внедрения зависимостей.

1 голос
/ 03 апреля 2012

Я не пытался заставить Ninject работать, но я был бы очень удивлен, если бы он работал из коробки.Если есть сборка Silverlight Ninject, вам может повезти с этим, но нет никаких гарантий.«Лучший» способ получить поддержку в Mono для Android - это создать код для профиля Mono for Android в виде библиотеки классов.

Тем не менее, существуют другие варианты размещения службы.в ваших приложениях.У меня есть сообщение в блоге здесь , в котором говорится об использовании TinyIoC и Funq для определения местоположения службы.

...