[.NET Core 2.2]Unable to resolve service for type while attempting to activate

最近開始摸.NET Core 

加入了Repository Pattern之後 發現了一些問題

ServiceCollection 在啟動並取得Service時 , 找不到合適的service來啟動(我的理解是這樣啦)

通常這個狀況會有兩個可能

1. Controller 在建構子注入的Repository錯誤 以下面的例子為例

   ToDoController 中 _repo 型態是IToDoRepository 但是建構子卻是ToDoRepository 應改為IToDoRepository 即可

public class ToDoController : ControllerBase
{
    private readonly IToDoRepository _repo;
    private readonly ILoggerManager _logger;
 
    public ToDoController(ToDoRepository repo,ILoggerManader logger)
    {
          _repo = repo;
          _logger = logger;
    }
}

2. 未在ConfigureService中設定該Repository 

public virtual void ConfigureServices(IServiceCollection services)
{
    services.AddScoped<IToDoRepository, ToDoRepository>();        
}

 

-----------------------------------------

有時在會走之前你就得跑

你不解決問題 就等問題解決你