今天想加個自定義的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://stackoverflow.com/questions/51223541/autofac-none-of-the-constructors-found
解決方法:日志說沒有構造方法,仔細檢查了一下controller,構造函數竟然是protected,復制項目生成的controller要記得改成public