2014-09-04 4 views
3

Итак, я обновил мою установку Xamarin до последней стабильной версии. Начиная с обновления, мое приложение не будет работать на iOS (отлично работает на Android) ... ошибка в том, что он не может решить конструктор.Autofac quit разрешительные конструкторы на iOS после обновления Xamarin

Autofac.Core.DependencyResolutionException: Нет Конструкторы по типу «FutureState.AppCore.Migrations.Migration001» может быть найдено с помощью конструктора искателем «Autofac.Core.Activators.Reflection.DefaultConstructorFinder».

Мой оригинальный конструктор

public Migration001(IUserRepository userRepository, 
         IRoleRepository roleRepository, 
         IPermissionRepository permissionRepository, 
         IPasswordHasher passwordHasher) 
    { 
     _userRepository = userRepository; 
     _roleRepository = roleRepository; 
     _permissionRepository = permissionRepository; 
     _passwordHasher = passwordHasher; 
     MigrationVersion = 1; 
    } 

, но я даже пытался изменить его на место службы, чтобы посмотреть, если Autofac найдет конструктор.

public Migration001() 
    { 
     _userRepository = App.Container.Resolve<IUserRepository>(); 
     _roleRepository = App.Container.Resolve<IRoleRepository>(); 
     _permissionRepository = App.Container.Resolve<IPermissionRepository>(); 
     _passwordHasher = App.Container.Resolve<IPasswordHasher>(); 
     MigrationVersion = 1; 
    } 

, но, к сожалению, это приводит к тому же вопросу.

Autofac.Core.DependencyResolutionException: Нет Конструкторы по типу «FutureState.AppCore.Migrations.Migration001» может быть найдено с помощью конструктора искателем «Autofac.Core.Activators.Reflection.DefaultConstructorFinder».

Что может вызвать что-то подобное? Это приложение Xamarin.Forms, поэтому тот же самый код запускается без проблем на Android.

ответ

1

Похоже, что это была проблема с выпуском Xamarian в то время. Я обновил последнюю версию (вчера) и больше не имею этой проблемы.

Кроме того, в выпусках, выпущенных в сентябре 2014 года, появилось множество ошибок, поэтому, если вы используете 3.5 ... обновление.

2

У меня была аналогичная проблема после обновления SDK Xamarin iOS до Alpha (3.9.289). Изменение поведения Linker для «Не связывать» решило мою проблему.

+0

Исправлена ​​ошибка – CrazyDart

+0

Эта проблема устраняет проблему, но это всего лишь обходной путь. –

Смежные вопросы