Autofac Registration:
builder.RegisterType<RelatedTransportMangerResolver>().AsSelf();
builder.Register(context => new MapperConfiguration(cfg =>
{
cfg.AddProfile<AssetMapperProfile>();
})).AsSelf().SingleInstance();
builder.Register(c => c.Resolve<MapperConfiguration>().CreateMapper(c.Resolve))
.As<IMapper>()
.InstancePerLifetimeScope();
Карта, использующая пользовательский преобразователь значений:
CreateMap<TrafficArea, TrafficAreaViewModel>()
.ForMember(ta => ta.TransportManagers,
opt => opt.MapFrom(ta =>
ta.TrafficAreaKeyContacts
.Where(kc => kc.KeyContactGroup.HasFlag(KeyContactGroup.TransportManager))
.Select(atr => atr.KeyContact)))
.ForMember(ta => ta.RelatedTransportManagers,
opt => opt.MapFrom<RelatedTransportMangerResolver>());
Возвращаемая ошибка:
Эта операция разрешения имеетуже закончился.При регистрации компонентов с использованием лямбда-выражения параметр IComponentContext 'c' для лямбды не может быть сохранен.Вместо этого либо разрешите IComponentContext снова из 'c', либо разрешите фабрику на основе Func <> для создания последующих компонентов из.
Есть идеи, как исправить эту ошибку?