.net core Autofac зависимости Инъекция внешней регистрации класса dll в интерфейс - PullRequest
0 голосов
/ 10 сентября 2018

Я переношу свое приложение из WCF в .net Core.В WCF мы использовали Unity для DI.В ядре .net мы используем Autofac.

Прямые зависимости работают нормально с классами проекта, если я ссылаюсь на другую dll, я не смог бы это зарегистрировать.Я пробовал разные способы звонка, но я не смог зарегистрировать свою ленту внешних DLL.(ExtnMap.dll)

В WCF: это похоже на файл web.config.

<typeAlias alias="Sig123" type="Extn.SigCalc, ExtnMap"/>
<container>
  <types>
     <type type="ISig123" mapTo="Sig123"/>()
  </types>
</container>

В служебном файле, вызываемом вот так

XmlConfigurator.ConfigureAndWatch(fileInfo);

DI.Init();

mSig = DI.Container.Resolve<ISig123>();

, но в ядре .net я не смог справиться с этим.То, что я зарегистрировал dll

containerBuilder.RegisterAssemblyTypes(assemblyname.dll)
                   .Where(t => t.IsAssignableFrom(typeof(ISignatureCalculation)))
                   .AsImplementedInterfaces().InstancePerDependency();

containerBuilder.RegisterType<Extn.SigCal>().As<ISig123>(); 

, здесь это исключение.* Интерфейс ISig123 определен в локальном проекте.

Пожалуйста, дайте мне знать, как правильно зарегистрировать класс внешнего dll для локального класса

...