带有Ninject的AutoMapper

我一直在尝试设置AutoMapper来通过Ninject实例化所有对象。 我在global.asax文件中有以下代码

Mapper.Configuration.ConstructServicesUsing(x => kernel.Get(x)); 

作为一个例子,我有以下映射

 Mapper.CreateMap(); 

但是,这似乎不起作用。 我得到一个’IndexViewModel’没有默认构造函数的错误。

我可以通过显式告诉automapper在映射中使用ninject来使映射器工作。

 Mapper.CreateMap().ConstructUsingServiceLocator(); 

但是,我宁愿不必为每个映射执行此操作。 我错过了什么吗?

只需在初始化代码中的某处创建一个为您执行此操作的函数

 void CreateMapWithServiceLocator() { Mapper.CreateMap().ConstructUsingServiceLocator(); }