DbCtxt.ConnStr = Configuration.GetSection("ConnectionString").Value; // 根据类是否添加注解[IsService]来自动注入 var assm = new[] { typeof(Program).Assembly, typeof(DbCtxt).Assembly }; foreach (var ass in assm) { var types = ass.GetTypes(); foreach (var typ in types) { var typeInfo = typ.GetTypeInfo(); if (typeInfo.IsDefined(typeof(IsService))) { services.AddScoped(typ); var interfaces = typeInfo.ImplementedInterfaces; foreach (var item in interfaces) { services.AddScoped(item, typ); } } } }