我在使用Ninject將AutoMapper注入ASP.NET MVC 2應用程序時遇到問題。我用吉米博加德的文章AutoMapper and StructureMap type Configuration作爲指導。使用Ninject注入AutoMapper依賴關係
public class AutoMapperModule : NinjectModule
{
public override void Load()
{
Bind<ITypeMapFactory>().To<TypeMapFactory>();
Bind<Configuration>().ToSelf().InSingletonScope().WithConstructorArgument("mapper", MapperRegistry.AllMappers);
Bind<IConfiguration>().To<Configuration>();
Bind<IConfigurationProvider>().To<Configuration>();
Bind<IMappingEngine>().To<MappingEngine>();
}
}
Ninject在解析Configuration
時拋出異常。
激活IObjectMapper錯誤 沒有匹配的綁定可用,且類型不可自行綁定。 激活路徑:
3)依賴IObjectMapper的注入型配置的構造函數的參數映射器
更新
現在,這是使用以下綁定工作:
Bind<ITypeMapFactory>().To<TypeMapFactory>();
Bind<Configuration>().ToConstant(new Configuration(Kernel.Get<ITypeMapFactory>(), MapperRegistry.AllMappers())).InSingletonScope();
Bind<IConfiguration>().ToMethod(c => c.Kernel.Get<Configuration>());
Bind<IConfigurationProvider>().ToMethod(c => c.Kernel.Get<Configuration>());
Bind<IMappingEngine>().To<MappingEngine>();
我在GitHub上發佈模塊。 AutoMapper.Ninject。我的博客上的更多信息:http://binaryspeakeasy.com/2010/09/automapper-ninject/
請參閱http://stackoverflow.com/a/1810728/11635 – 2012-06-12 06:21:30