首页 > 其他分享 >项目升级到.Net8.0 Autofac引发诡异的问题

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

时间:2024-10-29 09:32:58浏览次数:5  
标签:Autofac 诡异 Mvc AspNetCore vs 升级 Net8.0 ApiExplorer Microsoft

前两天把项目升级到.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又可以。

标签:Autofac,诡异,Mvc,AspNetCore,vs,升级,Net8.0,ApiExplorer,Microsoft
From: https://www.cnblogs.com/dx5800/p/18501881

相关文章

  • autofac属性注入
    usingAutofac;namespaceautofac属性注入;internalclassProgram{staticvoidMain(string[]args){//创建一个容器ContainerBuilderbuilder=newContainerBuilder();//注册UserServicebuilder.RegisterType<UserService......
  • autofac构造函数注入
    usingAutofac;namespaceautofac构造函数注入;internalclassProgram{staticvoidMain(string[]args){//创建一个容器ContainerBuilderbuilder=newContainerBuilder();//注册UserServicebuilder.RegisterType<UserSe......
  • Autofac的基本使用1
    新建.net8控制台nuget安装Autofac新建接口publicinterfaceIUserService{    voidshow();}实现接口publicclassUserService:IUserService{    publicvoidshow()    {        Console.WriteLine("UserService执行");    }}调用stat......
  • 【Azure Event Hub】诡异现象之Event Hub无法删除的根源
    问题描述遇见一个诡异的现象。在EventHub事件中心中删除了一个EventHub后,会立马被重建,多次删除发现都是同样的问题。 这是什么情况呢?问题解答经过对EventHub调查发现,使用了Kafka客户端持续的发送/消费事件。而Kafka客户端自带属性auto.create.topics.enable=true,它会......
  • 从0到1搭建权限管理系统系列四 .net8 中Autofac的使用(附源码)
    说明  该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。   该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。   说明:OverallAuth2.0是一个简单、易懂、功能强大的权限+可视化流程管理系统。友情提醒:本篇文章是属于系......
  • Docker打包Net8.0镜像
    Docker常用命令Docker是一种用于构建、打包和运行应用程序的容器化工具,以下是一些常用的Docker命令及其说明:1.Docker基础命令dockerversion#查看Docker的版本信息dockerinfo#查看Docker系统信息dockerbuild-t<image_name>.#构建镜像dockerpullnginx......
  • ASP.NET MVC Autofac依赖注入的一点小心得(包含特性注入)
    ASP.NETMVCAutofac依赖注入的一点小心得(包含特性注入) 前言IOC的重要性大家都清楚..便利也都知道..新的ASP.NETCore也大量使用了这种手法..一直憋着没写ASP.NETCore的文章..还是怕误导大家..今天这篇也不是讲Core的 前面写了C#开发移动应用系列 就第一篇和最后......
  • 日入300+,民间诡异故事玩法,简单冷门流量大
    民间诡异故事一直以来都是一个受欢迎的题材,随着中视频计划的兴起,创作者能够轻松获得收益,尤其是播放量高的视频,常常能带来可观的收入。对于新手来说,入门门槛相对较低,竞争又不激烈。教程下载:百度网盘链接https://pan.baidu.com/s/1qJAU9nYHyGn65RHtpAGCvw?pwd=6666大纲:1.项目......
  • 线上锁超时排查(手动事务transactionTemplate导致的诡异锁超时)---此篇篇幅很长,带好瓜子
    事情起因起因是某天线上突然不停报锁超时,重启后又会变正常,但是在某个时刻又会重复发生。这个是报错的日志(日志对检测这种bug不一定有用,唯一的作用就是告诉我们啥表被锁了,但是看不出因为啥被锁的)###SQL:INSERTINTOt_check_record(id,create_time,update_time,creator,opera......
  • Autofac 批量注册程序集下的服务
    publicclassAutofacModuleRegister:Autofac.Module{protectedoverridevoidLoad(ContainerBuilderbuilder){varbasePath=AppContext.BaseDirectory;#region带有接口层的服务注入varservicesDllFile=Path.Combine(basePath......