记录一次AutoMapper注册报错

发布时间 2023-06-14 15:04:19作者: 孤沉

通常,.Net5我们注册服务是这样的。

//添加AutoMapper
var automapperConfog = new MapperConfiguration(config =>
{
config.AddProfile(new AutoMapperProFile());
});

    services.AddSingleton(automapperConfog.CreateMapper());

//而在.Net6中,添加AutoMapper是这样的

    var autoMapperConfig = new MapperConfiguration(config =>
    {
        config.AddProfile(new AutoMapperProFile());
    });

    //通过单例注册进来
    builder.Services.AddSingleton<IMapper>(autoMapperConfig.CreateMapper());

2、这从报错是InvalidOperationException: Unable to resolve service for type 'AutoMapper.Mapper' while attempting to activate 'MyMemo.Api.Services.TodoService'意思是我注册失败,通过排查,发现在服务层

        private readonly IMapper _mapper;
		public TodoService(IUnitOfWork work,Mapper mapper)
        {
            _unitOfWork = work;
            _mapper=mapper;
        }
		注册时写成了Mapper,