У меня есть проект Xamarin Forms, использующий .NET Standard 2.0, использующий Autofac для DI.
Проект предназначен для 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
зарегистрированы в Autofac до регистрации MainViewModel
.
Есть идеи, что здесь происходит и почему все работает гладко с iOS и UWP и ломается на Android?
Может ли это быть связано со связыванием в формах Xamarin?
Я использую Autofac 4.8. Я тоже пробовал с Autofac 4.6.2, но с теми же результатами.