繁体   English   中英

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

[英]C# Autofac- System.MissingMethodException: Cannot create an instance of an interface

---> 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;
}

任何人都可以帮助我解决这个问题还是我错过了什么?

我对我的问题的回答是,在 Autofac 中,我们不应该手动初始化我们引用接口的类,因为它会产生这种错误。 事实上,它与属性自动装配,无需重新初始化。 我删除检查 If Instance == null 然后我将创建新的 ClassA 来提供实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM