我正在尝试将我们的框架项目迁移到 .NET Core 3.1。作为迁移的一部分,我试图通过 GenericHost 提供的 ConfigureContainer 方法注册模块。这就是我所拥有的:
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureContainer<ContainerBuilder>(builder => builder.RegisterModule(new
WorkerServiceDependencyResolver.WorkerServiceDependencyResolver()))
我的 WorkerServiceDependencyResolver 具有以下内容:
builder.RegisterModule(new FirstModule());
builder.RegisterModule(new SecondModule());
但是当我这样做时,我的应用程序没有运行,它启动时没有任何错误,但没有做任何事情。
但是如果我这样写(这就是我们在 .NET Framework 中的方式):
var builder = new ContainerBuilder();
builder.RegisterModule(new FirstModule());
builder.RegisterModule(new SecondModule());
_container = builder.Build();
当我显式构建容器时,一切都按预期工作,但我的理解是我们在 .NET Core 中不需要它?
非常感谢任何输入。
干杯!