Я унаследовал проект .NET, который продолжает выдавать ошибки Autofac, но я не уверен, о чем мне говорит это сообщение об ошибке. Любая помощь будет оценена?
An error occurred during the activation of a particular registration. See the inner exception for details.
Registration:
Activator = ImplementationResourceRepository (ReflectionActivator),
Services = [Interfaces.IImplementationResourceRepository],
Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime,
Sharing = None,
Ownership = OwnedByLifetimeScope ---> None of the constructors found with 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' on type 'CCES.Repositories.ImplementationResourceRepository' can be invoked with the available services and parameters:
Cannot resolve parameter 'Interfaces.IRepository repository' of constructor 'Void .ctor(Interfaces.IRepository)'. (See inner exception for details.)
Тип ImplementationResourceRepository
имеет конструктор, который принимает экземпляр, реализующий Interfaces.IRepository
в своем конструкторе, но никакие типы не были зарегистрированы как Interfaces.IRepository
. Вам необходимо зарегистрировать тип, реализующий Interfaces.IRepository
в качестве этого интерфейса с Autofac.
Что-то похожее на это:
protected override void Load(ContainerBuilder builder)
{
builder.RegisterType<Implementations.Repository>()
.As<Interfaces.IRepository>()
.InstancePerDependency();
}
(примечание) Если какие-либо ответы на ваши вопросы (Я вижу, вы задавали вопросы в прошлом) действительно отвечают на ваш вопрос, пожалуйста, найдите время, чтобы отметить их как «ответ», используя галочку слева от ответа (просто щелкните по нему, он станет зеленым). Это помогает другим определить правильное исправление, и те, кто потратил время, чтобы помочь вам, также очень это оценят. Заранее спасибо.