.NET 8下Orchard Core模块启动报错:无法解析IEndpointRouteBuilder服务
问题原因分析
- 版本严重不兼容:Orchard Core 2.2.0是基于.NET Core 3.1的老旧版本,而你当前使用的是*.NET 8.0*运行时,二者的框架API、依赖注入体系存在巨大差异,属于跨大版本的不兼容场景。
- EF Core版本不匹配:EF Core 9.0.3是适配.NET 8/9的版本,和Orchard Core 2.2.0依赖的EF Core 3.1.x版本完全不兼容,会导致依赖注入容器中的服务注册逻辑冲突,进而影响路由相关服务的正常注册。
- Startup方法参数类型不符合旧版规范:Orchard Core 2.2.0的模块Startup类中,
Configure方法并不支持Microsoft.AspNetCore.Routing.IEndpointRouteBuilder作为参数——该接口是ASP.NET Core 5.0及以后版本引入的路由体系组件,而Orchard Core 2.2.0基于的.NET Core 3.1使用的是旧版路由模型,DI容器中根本不会注册IEndpointRouteBuilder服务,这是直接触发异常的原因。
内容的提问来源于stack exchange,提问作者Long Mạnh
相关产品推荐
相关产品推荐

