【发布时间】:2020-01-27 17:14:54
【问题描述】:
我需要在 ASP core 3.0 中使用这个AutoFac
当我在启动时使用此代码时:
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddControllers();
return services.BuildAutofacServiceProvider();
}
它告诉我这个错误:
'不支持返回 System.IServiceProvider 的配置服务。'
我通过以下方式更改 program.cs:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
但它没有解决。
这是BuildAutofacServiceProvider()代码:
public static IServiceProvider BuildAutofacServiceProvider(this IServiceCollection services)
{
var ContainerBuilder = new ContainerBuilder();
ContainerBuilder.Populate(services);
ContainerBuilder.AddService();
var container = ContainerBuilder.Build();
return new AutofacServiceProvider(container);
}
我该如何解决这个问题?
【问题讨论】:
标签: c# asp.net-core dependency-injection autofac asp.net-core-3.0