I am trying to migrate our framework project to .NET Core 3.1. As part of the migration, I am trying to register modules via ConfigureContainer method provided by the GenericHost. This is what I have:
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureContainer<ContainerBuilder>(builder => builder.RegisterModule(new
WorkerServiceDependencyResolver.WorkerServiceDependencyResolver()))
And my WorkerServiceDependencyResolver has the following:
builder.RegisterModule(new FirstModule());
builder.RegisterModule(new SecondModule());
But when I do it this way, my application doesn't run, it starts without any error, but doesn't do anything.
But If I write it this way (this is how we had in .NET Framework):
var builder = new ContainerBuilder();
builder.RegisterModule(new FirstModule());
builder.RegisterModule(new SecondModule());
_container = builder.Build();
Everything works as expected when I explicitly build the container, but my understanding was that we do not need that in .NET Core?
Any inputs are greatly appreciated.
Cheers!