从 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的文档?
在.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();
}