【发布时间】:2018-05-06 17:02:13
【问题描述】:
我有一个使用 .NET Standard 2.0 并利用 Autofac for DI 的 Xamarin Forms 项目。
该项目适用于 Android、iOS 和 UWP。
当我使用 iOS 或 UWP 运行项目时,一切正常。
在 Android 中运行它时,我在尝试解析 MainViewModel 时收到“找不到可访问的构造函数...”异常。
注册:builder.RegisterType<MainViewModel>().AsSelf();
解析 MainViewModel:
public MainViewModel MainPage
{
get
{
using (var scope = _container.BeginLifetimeScope())
{
return _container.Resolve<MainViewModel>();
}
}
}
MainViewModel 构造函数:
public MainViewModel(
ISecureDatabaseService secureDb,
IReceiptQueuedSenderHandler receiptQueuedSenderHandler)
ISecureDatabaseService 和 IReceiptQueuedSenderHandler 在注册 MainViewModel 之前已在 Autofac 中注册。
知道这里发生了什么,为什么在 iOS 和 UWP 上运行顺畅,而在 Android 上运行不畅?
这可能与 Xamarin 表单中的链接有关吗?
我正在使用 Autofac 4.8。我也尝试过 Autofac 4.6.2,但结果相同。
【问题讨论】:
标签: android xamarin.forms autofac