因此,我今天将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上运行时没有问题。
解决了我的问题 – CrazyDart 2015-03-12 19:37:43
解决了问题,但这只是一种解决方法。 – 2015-06-05 12:30:11