使用反射把所有服务接口进行注入
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); } } }