I'm using .NET Core 3.0 and have the following classes
public class DataProviderA: IDataProvider { }
public class DataProviderB: IDataProvider { }
public class DataProviderCombined: IDataProvider {
public DataProviderCombined(IDataProvider providerA, IDataProvider providerB) { ... }
}
In my Startup.cs I have the services registered as the following:
services.AddTransient<IDataProvider, DataProviderCombined>();
services.ForConcreteType<DataProviderCombined>().Configure.Scoped()
.Ctor<IDataProvider>("providerA").Is<DataProviderA>().Transient()
.Ctor<IDataProvider>("providerb").Is<DataProviderB>().Transient();
This doesn't seem to resolve properly as I'm getting the following errors:
Lamar.IoC.LamarException: Cannot build registered instance dataProvider of 'IDataProvider': Bi-directional dependencies detected:
Is there a registration piece that I am missing in Lamar to be able to do this in .NET Core 3?