我想用简单的喷射器注册Automapper,将其注入控制器:
public class MyController : BaseController
{
private IUnitOfWork unitOfWork;
private IMappingEngine mappingEngine;
public PatientController(IUnitOfWork _unitOfWork, IMappingEngine _mappingEngine)
{
this.unitOfWork = _unitOfWork;
this.mappingEngine = _mappingEngine;
}
}但是当我试图注册它的时候
public static void Initialize()
{
//Code for registering our repository class and DI
var container = new Container();
container.Register<IUnitOfWork, UnitOfWork>();
container.Register<IMappingEngine, MappingEngine>();
container.RegisterMvcControllers(Assembly.GetExecutingAssembly());
DependencyResolver.SetResolver(
new SimpleInjectorDependencyResolver(container));
}我有个错误:
为了使容器能够创建MappingEngine,它应该包含一个公共构造函数,但它有2。 参数名称: TImplementation。
我做错了什么?
发布于 2015-04-20 09:21:53
简单注入器不能自动为您自动连接MappingEngine类型,也不应该,因为这是一个框架类型,框架类型不应该自动连接,因为您可以读取这里。
相反,使用手动布线,如下所示:
var container = new Container();
container.RegisterSingle<IMappingEngine>(Mapper.Engine);https://stackoverflow.com/questions/29736588
复制相似问题