I utilise Autofac for my ASP.NET Core project - here's how my code looks:
(below is the declaration of Autofac module)
public class DefaultModule : Module
{
protected override void Load(ContainerBuilder builder)
{
var mapperConfiguration = new MapperConfiguration(cfg => cfg.AddProfile(new AutoMapperProfileConfiguration()));
var mapper = mapperConfiguration.CreateMapper();
builder.Register(c => mapper).As<IMapper>().SingleInstance();
}
}
SingleInstance() is the equivalent of AddSingleton().
AutoMapper profile:
public class AutoMapperProfileConfiguration : Profile
{
public AutoMapperProfileConfiguration()
{
CreateMap<TeamDto, Team>();
}
}
And here's how we register services:
public IServiceProvider ConfigureServices(IServiceCollection services)
{
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule<DefaultModule>();
containerBuilder.Populate(services);
var container = containerBuilder.Build();
return new AutofacServiceProvider(container);
}