我正在使用 .NET Core 3.0 并具有以下类
public class DataProviderA: IDataProvider { }
public class DataProviderB: IDataProvider { }
public class DataProviderCombined: IDataProvider {
public DataProviderCombined(IDataProvider providerA, IDataProvider providerB) { ... }
}
在我的Startup.cs中,我将服务注册如下:
services.AddTransient<IDataProvider, DataProviderCombined>();
services.ForConcreteType<DataProviderCombined>().Configure.Scoped()
.Ctor<IDataProvider>("providerA").Is<DataProviderA>().Transient()
.Ctor<IDataProvider>("providerb").Is<DataProviderB>().Transient();
这似乎无法正确解决,因为我收到以下错误:
Lamar.IoC.LamarException:无法构建“IDataProvider”的已注册实例 dataProvider:检测到双向依赖项:
我在 Lamar 中是否缺少能够在 .NET Core 3 中执行此操作的注册件?