public void ConfigureServices(IServiceCollection services) { services.AddMvc(); Assembly asm = Assembly.Load(new AssemblyName("IOCDemo.Services")); var serivceTypes= asm.GetTypes().Where(t => typeof(IServiceSupport).IsAssignableFrom(t) && !t.GetTypeInfo().IsAbstract); foreach (var serviceType in serivceTypes) { foreach (var intfType in serviceType.GetInterfaces()) { services.AddSingleton(intfType, serviceType); } } }