C# 系统无效操作异常';发生在AutoMapper.dll中。其他信息:映射程序未初始化
我过去觉得AutoMapper使用起来非常简单。我正在为新版本而挣扎。我有两种类型: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
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你能看看我的另一个问题吗?