2014-09-04 54 views
3

因此,我今天將Xamarin安裝更新爲最新的穩定版本。自更新以來,我的應用程序將無法在iOS上運行(在Android上運行正常)......錯誤是它無法解析構造函數。Autofac退出Xamarin更新後在iOS上解析構造函數

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年9月發佈的版本中還存在一些突破性錯誤,所以如果您使用3.5 ...升級。

2

將Xamarin iOS SDK升級到Alpha(3.9.289)後,我遇到了類似的問題。將鏈接器行爲更改爲「不鏈接」解決了我的問題。

+0

解決了我的問題 – CrazyDart 2015-03-12 19:37:43

+0

解決了問題,但這只是一種解決方法。 – 2015-06-05 12:30:11