提问者:小点点

.NET6.0DI服务登记问题[副本]


我正在使用存储库模式并尝试使用DI在.NET6.0中注册服务。

Program. cs中,

builder.Services.AddSingleton<IDomain, Domain>();
builder.Services.AddScoped<IApiUserRepository, ApiUserRepository>();

我的班级:

public class ApiUserRepository : IApiUserRepository
{
    public ApiUserRepository(Domain domain) { }
}

public class Domain : IDomain
{
    public Domain(IConfiguration configuration) { }
}

我得到以下异常,

在尝试激活“Repositories. ApiUserRepository”时,无法解析类型“Repositories.Domain”的服务。


共1个答案

匿名用户

您应该更改ApiUserRepository的构造函数以注入IDomain代替Domain

Domain仅注册为IDomain,因此Domain本身无法解析。

或者,您可以注册Domain类。