如何解决EF Core 5迁移时的Microsoft.Extensions.Hosting服务构建错误?
根本原因
- 依赖注入容器缺少
EmailSettings的注册:TicketManagement.Infrastructure.Mail.EmailService的构造函数依赖TicketManagement.Application.Models.Mail.EmailSettings实例,但该类型未被添加到.NET依赖注入(DI)容器中,导致DI无法解析这个依赖,进而无法创建EmailService以及依赖它的MediatR请求处理器(如CreateEventCommandHandler)。 - EF Core迁移的服务构建逻辑:执行
add-migration命令时,EF Core会尝试构建完整的应用服务提供者以获取DbContext实例。由于你的服务依赖链中存在未解决的依赖项,服务提供者初始化失败,触发了错误提示。 - 基础设施服务注册不完整:你在
Startup.cs中调用的AddInfrastructureServices(Configuration)方法内部,大概率遗漏了从配置文件绑定EmailSettings并注册到DI容器的逻辑——比如缺少类似services.Configure<EmailSettings>(Configuration.GetSection("EmailSettings"))或services.AddSingleton(Configuration.GetSection("EmailSettings").Get<EmailSettings>())的注册代码。
内容的提问来源于stack exchange,提问作者mustafa00
相关产品推荐
相关产品推荐

