لدي تطبيق ASP.NET Core يستخدم Autofac لحقن Automapper.
أولاً ، أحاول تسجيل ملفات تعريف Automapper من Assembly:
builder.RegisterAssemblyTypes(assembly)
.AssignableTo<Profile>()
.OnActivated(e => System.Diagnostics.Debug.WriteLine(e.Instance.GetType()))
.AutoActivate();
لقد أدخلت بعض سجلات التصحيح للتحقق مما إذا كانت ملفات التعريف الخاصة بي مسجلة. ويعمل ، أرى ملفات التعريف الخاصة بي في نافذة التصحيح.
من أن أسجل Automapper وأحاول حل الملفات الشخصية المسجلة مسبقًا:
builder.Register(ctx => new MapperConfiguration(cfg =>
{
var resolvedProfiles = ctx.Resolve<IEnumerable<Profile>>(); // Length is 0
foreach(var resolvedProfile in resolvedProfiles)
{
cfg.AddProfile(resolvedProfile);
}
}).CreateMapper())
.SingleInstance();
لا يعمل للأسف. لا يحل Autofac أيًا من الملفات الشخصية المسجلة سابقًا. لماذا وكيف يمكنني إصلاحه؟