C# 系统无效操作异常';发生在AutoMapper.dll中。其他信息:映射程序未初始化

C# 系统无效操作异常';发生在AutoMapper.dll中。其他信息:映射程序未初始化,c#,asp.net-mvc-4,automapper,C#,Asp.net Mvc 4,Automapper,我过去觉得AutoMapper使用起来非常简单。我正在为新版本而挣扎。我有两种类型: namespace VehicleMVC.Models { public class CarModel { public int id { get; set; } public string make { get; set; } public string model { get; set; } } } 以及: 我在CarControl

我过去觉得AutoMapper使用起来非常简单。我正在为新版本而挣扎。我有两种类型:

namespace VehicleMVC.Models
{
    public class CarModel
    {
        public int id { get; set; }
        public string make { get; set; }
        public string model { get; set; }

    }
}
以及:

我在CarController中尝试过这一点:

public CarController()
        {
            service = new Service.Service();
            //Mapper.Initialize(cfg => cfg.CreateMap<Business.Car,CarModel>());
            //Mapper.Initialize(cfg => cfg.CreateMap<List<CarModel>, List<Business.Car>>());
            var config = new MapperConfiguration(cfg =>
                {
                    cfg.CreateMap<Business.Car, CarModel>();
            }       );
            config.AssertConfigurationIsValid();

        }

private CarModel getCarModel(Business.Car BusinessCar)
        {
            CarModel CarModel = AutoMapper.Mapper.Map<CarModel>(BusinessCar);
            return CarModel;
        }
public CarController()
{
服务=新服务。服务();
//初始化(cfg=>cfg.CreateMap());
//初始化(cfg=>cfg.CreateMap());
var config=new-MapperConfiguration(cfg=>
{
CreateMap();
}       );
config.assertconfigurationsvalid();
}
私人汽车模型getCarModel(Business.Car BusinessCar)
{
CarModel CarModel=AutoMapper.Mapper.Map(BusinessCar);
返回CarModel;
}

我得到的错误是:AutoMapper.dll中发生了类型为“System.InvalidOperationException”的异常。其他信息:映射程序未初始化。使用适当的配置调用Initialize。但未在用户代码中处理。怎么了?

创建配置后,必须使用它初始化映射程序:

var config = new MapperConfiguration(cfg =>
{
     cfg.CreateMap<Business.Car, CarModel>();
};

config.AssertConfigurationIsValid();
Mapper.Initialize(config);
var config=new-MapperConfiguration(cfg=>
{
CreateMap();
};
config.assertconfigurationsvalid();
初始化(配置);

创建配置后,必须使用它初始化映射程序:

var config = new MapperConfiguration(cfg =>
{
     cfg.CreateMap<Business.Car, CarModel>();
};

config.AssertConfigurationIsValid();
Mapper.Initialize(config);
var config=new-MapperConfiguration(cfg=>
{
CreateMap();
};
config.assertconfigurationsvalid();
初始化(配置);

您已经注释掉了对
初始化的调用,您需要使用创建的配置调用该调用。注释后的代码是否出现相同的错误?您需要调用
映射器.Initialize()
有时point@stuartd,它说你应该在这里调用Initialise或Mapper配置:文档有误导性-你仍然必须调用Mapper。使用配置初始化。@stuartd,你是对的。它正在使用这两种配置。发布一个答案,我将为将来的访问者标记它。你已经注释掉了调用
Initialize
,您需要使用创建的配置调用哪个?注释代码是否会出现相同的错误?您需要调用
Mapper.Initialize()
有时point@stuartd,它说你应该在这里调用Initialise或Mapper配置:文档有误导性-你仍然必须调用Mapper。使用配置进行初始化。@stuartd,你是对的。它正在使用这两种配置。发布一个答案,我将为将来的访问者标记它。你能在这里看看我的另一个问题吗:?Cou你能看看我的另一个问题吗?