Class 库没有 Program.cs - 去哪里配置 DI?

Class library has no Program.cs - where to configure DI?

我开始了一个新的 class 库项目,我想对服务和 DbContext 等使用依赖注入

但是没有 Program.cs 文件。

我应该在哪里配置 DI 接口和 classes?我需要添加一个空的 Program.cs 吗?

用于整个 application.Main 应用程序的依赖项注入向所有程序集注入服务。例如,从主应用程序到您的 assembly.You 的 dbcontext 注入不应在本地单独为每个程序集定义依赖实例

例如,如果您有一个 class 库作为业务访问层。您可以在根目录中添加一个名为 DependencyInjection 的 class,如下所示

public static class DependencyInjection
    {
        public static void AddApplication(this IServiceCollection service)
        {
            service.AddScoped<IOrgSettingsService, OrgSettingsService>();
            service.AddScoped<IIdentity, IdentityService>();
            service.AddScoped<ILdapAuthenticationService, LdapAuthenticationService>();
            service.AddScoped<IOrgAuthenticationService, OrgAuthenticationService>();
            service.AddScoped<IVacanciesService, VacancyService>();
            
            // assemblers
            service.AddScoped<IVacancyAssembler, VacancyAssembler>();

        }
    }

然后在启动class中注册如下

 public void ConfigureServices(IServiceCollection services)
        {
         // ...
          services.AddApplication();
        }