在Xamarin更新后,Autofac退出解析iOS上的构造函数

时间:2014-09-04 17:20:14

标签: xamarin.ios autofac

所以我今天将我的Xamarin安装更新到最新的稳定版本。自更新以来,我的应用程序将无法在iOS上运行(在Android上运行良好)...错误是它无法解析构造函数。

  

Autofac.Core.DependencyResolutionException:在构造函数查找器'Autofac.Core.Activators.Reflection.DefaultConstructorFinder'中找不到类型'FutureState.AppCore.Migrations.Migration001'的构造函数。

我原来的构造函数是

    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:在构造函数查找器'Autofac.Core.Activators.Reflection.DefaultConstructorFinder'中找不到类型'FutureState.AppCore.Migrations.Migration001'的构造函数。

什么会导致这样的事情?这是一个Xamarin.Forms应用程序,因此完全相同的代码在Android上运行没有问题。

3 个答案:

答案 0 :(得分:2)

当时看起来这是Xamarian发布的一个问题。我已重新更新到最新版本(昨天),不再有此问题。

此外,2014年9月发布的版本还有一些突破性的错误,所以如果您正在进行3.5升级。

答案 1 :(得分:2)

将Xamarin iOS SDK升级到Alpha(3.9.289)后,我遇到了类似的问题。将链接器行为更改为“不要链接”#39;解决了我的问题。

答案 2 :(得分:1)

将链接器行为更改为--- title: Some title output: pdf_document: keep_tex: true --- ```{r} # This is a test head(mtcars) ``` \renewcommand{\CommentTok}[1]{\textcolor[rgb]{0.96,0.35,0.01}{\textit{#1}}} \renewcommand{\KeywordTok}[1]{\textcolor[rgb]{0.93,0.29,0.53}{\textbf{#1}}} ```{r} # This is a test head(mtcars) ``` 解决了我的问题。