我有一个从存储库项目中获取数据的映射器。我有一个IMenueMapper接口,它传递到homecontroller,如下所示:
public HomeController(IMenueMapper menueMapper)
{
_menueMapper = menueMapper;
}
但menuemapper类本身使用IMenueMapperRepository
,这来自另一个项目,并通过dll传递
public MenueMapper(IMenueItemsRepository menueItems)
{
_menueItems = menueItems;
}
虽然我可以使用structuremap.mvc5轻松解决MVC项目中的IMenuemapper,但我无法解析存储库。在这种情况下,有没有办法实现DI?
答案 0 :(得分:0)
您需要在组合根目录中注册抽象(存储库接口和实现)。
您表示IMenueMapper
已通过;
scan.AssemblyContainingType<MenueMapper>();
自
但
MenueMapper
类本身使用IMenueMapperRepository
和 这来自另一个项目,并通过dll传递
然后它也应该扫描,因为它属于另一个程序集
scan.AssemblyContainingType<MenueItemsRepository>();
确保项目引用有问题的程序集