C#Autofac- System.MissingMethodException:无法创建接口的实例

问题描述 投票:0回答:1
---> Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor()' on type 'Application`1'.
---> System.MissingMethodException: Cannot create an instance of an interface.

我正在尝试使用Autofac注册两个实现,但出现上述错误。我有我注册的通用类

builder.RegisterGeneric(typeof(ClassA<>)).As(typeof(IClassA<>)).InstancePerLifetimeScope();
builder.RegisterGeneric(typeof(ClassB<,>)).As(typeof(IClassB<,>)).InstancePerLifetimeScope();

Controller上的ClassA实例如下:

private readonly IClassA<IClassB<OtherA, OtherB>> _classA;
public ClassController(IClassA<IClassB<OtherA, OtherB>> classA){
    _classA = classA;
}

任何人都可以帮助我解决这个问题,或者我缺少什么吗?

c# autofac
1个回答
0
投票

我对以下问题的回答:在Autofac中,我们不应该手动初始化要引用到接口的类,因为它将生成此类错误。它是使用属性自动装配的,无需重新初始化。我取消了检查,如果Instance == null,那么我将创建新的ClassA来提供实例。

© www.soinside.com 2019 - 2024. All rights reserved.