Ошибка C # Autofac Не удалось загрузить тип 'IBaseService`1' из сервисов сборки ', когда объявляется универсальный класс двух типов: IBaseService - PullRequest
0 голосов
/ 11 ноября 2019

Произошла ошибка:

Не удалось загрузить тип 'Services.IBaseService`1' из сборки 'Services, Version = ....

Я пробую с однимуниверсальный тип (IBaseService< T >), он отлично работает.

Может ли кто-нибудь помочь мне, как внедрить этот тип универсального объекта, пожалуйста?


Мой интерфейс: (My Impl: (пространство именServices.Interface))

public interface IBaseService<T, O> where T : class where O: class
{
}

public interface IInvoiceService : IBaseService<Invoice, OInvoice>
{
}

Мой Impl: (пространство имен Services.Impl)

public class BaseService<T, O> where T: class where O: class
{
}

public class InvoiceService : BaseService<Invoice, OInvoice>, IInvoiceService
{
}

Мой код Inject:

...
var assembly = Assembly.GetAssembly(typeof(InvoiceService));
builder.RegisterAssemblyTypes(assembly)
       .Where(x => x.Namespace != null 
                   && x.Namespace.EndsWith("Services.Impl"))
       .AsImplementedInterfaces()
       .InstancePerRequest();
...
...