今天想加个自定义的api,页面直接报500,查看日志后,下图:
1 2021-02-07 10:32:54.874 +08:00 [FTL] Host terminated unexpectedly! 2 Autofac.Core.Activators.Reflection.NoConstructorsFoundException: No accessible constructors were found for the type ‘xxx.Controllers.xxxController‘. 3 at Volo.Abp.Autofac.AbpAutofacConstructorFinder.GetDefaultPublicConstructors(Type type) 4 at Volo.Abp.Autofac.AbpAutofacConstructorFinder.FindConstructors(Type targetType) 5 at Autofac.Core.Activators.Reflection.ReflectionActivator.ConfigurePipeline(IComponentRegistryServices componentRegistryServices, IResolvePipelineBuilder pipelineBuilder) 6 at Autofac.Core.Registration.ComponentRegistration.BuildResolvePipeline(IComponentRegistryServices registryServices, IResolvePipelineBuilder pipelineBuilder) 7 at Autofac.Core.Registration.ComponentRegistration.BuildResolvePipeline(IComponentRegistryServices registryServices) 8 at Autofac.Core.Registration.ComponentRegistryBuilder.Build() 9 at Autofac.ContainerBuilder.Build(ContainerBuildOptions options) 10 at Volo.Abp.Autofac.AbpAutofacServiceProviderFactory.CreateServiceProvider(ContainerBuilder containerBuilder) 11 at Microsoft.Extensions.Hosting.Internal.ServiceFactoryAdapter`1.CreateServiceProvider(Object containerBuilder) 12 at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider() 13 at Microsoft.Extensions.Hosting.HostBuilder.Build() 14 at xxx.Web.Program.Main(String[] args) in D:\xxx\xxx\xxx\src\xxx.Web\Program.cs:line 31
其他人遇到的类似问题:https://*.com/questions/51223541/autofac-none-of-the-constructors-found
解决方法:日志说没有构造方法,仔细检查了一下controller,构造函数竟然是protected,复制项目生成的controller要记得改成public