当前位置: 首页 > article >正文

项目升级到.Net8.0 Autofac引发诡异的问题

前两天把项目升级到.Net8.0了,把.Net框架升级了,其他一些第三方库升级了一部分,升级完以后项目跑不起来了,报如下错误:

An unhandled exception occurred while processing the request.
DependencyResolutionException: None of the constructors found with 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' on type 'Microsoft.AspNetCore.Mvc.ApiExplorer.EndpointMetadataApiDescriptionProvider' can be invoked with the available services and parameters:
Cannot resolve parameter 'Microsoft.Extensions.DependencyInjection.IServiceProviderIsService serviceProviderIsService' of constructor 'Void .ctor(Microsoft.AspNetCore.Routing.EndpointDataSource, Microsoft.Extensions.Hosting.IHostEnvironment, Microsoft.AspNetCore.Routing.ParameterPolicyFactory, Microsoft.Extensions.DependencyInjection.IServiceProviderIsService)'.
Autofac.Core.Activators.Reflection.ReflectionActivator.GetAllBindings(ConstructorBinder[] availableConstructors, IComponentContext context, IEnumerable<Parameter> parameters)

DependencyResolutionException: An exception was thrown while activating Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator -> Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionGroupCollectionProvider -> λ:Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider[] -> Microsoft.AspNetCore.Mvc.ApiExplorer.EndpointMetadataApiDescriptionProvider.

看着是依赖注入的问题,后面去网上找了一下,找到博客园的一篇文章,提到是vs版本的问题,我现在用的vs版本是17.11.5,看完以后心里想vs应该不会和影响到代码,我想着通过命令行 dotnet xxx.dll 能不能启动,奇怪了命令行可以启动;接着我又用vscode试了一下,也可以启动,这就很奇怪了。
我把项目.Net6.0的代码签出项目可以跑起来,看来还是升级的问题,和依赖注入有关,后面想到了可能是autofac没有升级,把autofac升级到10.0就没问题了。

image

问题虽然解决了,但还是很纳闷,怎么不升级autofac,vs会导致项目跑不起来了,但是通过命令行和vscode又可以。


http://www.kler.cn/a/377723.html

相关文章:

  • 【Python系列】Python 连接 PostgreSQL 数据库并查询数据
  • Wend看源码-Java-集合学习(Set)
  • word无法创建工作文件,检查临时环境变量。
  • vxe-table 实现跨行按钮同时控制两行的编辑状态
  • LabVIEW数字式气压计自动检定系统
  • elasticsearch中使用fuzzy查询
  • Rust常用属性及应用
  • windows rdp 将远程技术嵌入到你的软件——未来之窗行业应用跨平台架构
  • 社区交流系统设计与实现
  • JDS汽车售后检测在车联网系统中的定位
  • buuctf
  • Android编译环境构建(二)(可用于物理机、虚拟机、容器化Jenkins环境)
  • 梁山派入门指南4——定时器使用详解,包括定时器中断、PWM产生、输入捕获测量频率
  • Java面试经典 150 题.P27. 移除元素(002)
  • 服务器上清理Docker容器运行日志的正确方法
  • tauri开发中如果取消了默认的菜单项,复制黏贴撤销等功能也就没有了,解决办法
  • 系统性能测试笔记-JMeter性能测试
  • 力扣(leetcode)题目总结——字符串篇
  • Zookeeper 和 Eureka 做注册中心有什么区别?
  • 基于JavaWeb+MySQL实现口算题卡
  • 服务器的免密登录和文件传输
  • 区块链-C++挖矿软件XMRIG源码分析
  • centos7.X zabbix监控参数以及邮件报警和钉钉报警
  • TCP Analysis Flags 之 TCP Keep-Alive
  • 春秋云境CVE-2022-21661,sqlmap+json一把梭哈
  • 微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖、z-index应用及性能分析