在.NET Core 3和3.1中设置Autofac。

问题描述 投票:0回答:1

Autofac官方文件 ASP.NET Core 3.0(我使用的是.NET Core 3.1)的 startup 官方文档中的构造函数参数类型是 IHostingEnvironment

public Startup(IHostingEnvironment env)
  {
    // In ASP.NET Core 3.0 `env` will be an IWebHostEnvironment, not IHostingEnvironment.
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
        .AddEnvironmentVariables();
    this.Configuration = builder.Build();
  }

而我的 IConfiguration

 public Startup(IConfiguration configuration)
        {
            Configuration = configuration;

        } 

那么在.NET Core 3.1中如何设置这个方法,还是说Autofac还没有发布.NET Core 3.1的文档?

c# autofac
1个回答
1
投票

在.NET Core3.1中,有两个步骤来设置你的自动传真。

首先,你需要在Program.cs中写下以下内容。

Host.CreateDefaultBuilder(args)
    .UseServiceProviderFactory(new AutofacServiceProviderFactory())
    .ConfigureWebHostDefaults(webBuilder =>
    {
      webBuilder.UseStartup<Startup>();
    });

然后,在Startup.cs中创建一个新方法。

public void ConfigureContainer(ContainerBuilder builder)
{
    builder.RegisterAssemblyTypes(Assembly.Load("")).AsImplementedInterfaces();
}
© www.soinside.com 2019 - 2024. All rights reserved.