我已经打开了一个问题on CodePlex但都没有收到任何答复。MEFContrib.MVC3:导出控制器与基类
基本上,我有一个基础控制器,所有的控制器都继承自我的控制器。当我创建一个新的MVC3项目时,将我的控制器放在另一个程序集中,并将MEFContrib.MVC3添加到项目中,一切都很好。当我让任何控制器从我的基类继承,他们不能再被发现。
我对MEFContrib不太了解,不知道究竟是什么突破,但我试图用ExportAttribute
来装饰我的控制器,那也没有奏效。
所有这一切都是不同的装配比主MVC项目:
public class MyBaseController : Controller
{
...
}
// This controller cannot be found.
public class HomeController : MyBaseController
{
public ActionResult Index()
{
// Do Stuff
return View();
}
}
// This controller can be found.
public class HomeController : Controller
{
// yada, yada, yada...
}
编辑:
counsellorben是完全正确的。我有依赖没有正确标记出口,所以控制器不能正确组成。我逐步浏览了我的每个依赖关系,逐步了解他们自己的依赖关系,发现了我错过的几个。
请指定导入到MyController类中的任何依赖项。最可能的问题是MyController类中存在依赖关系问题,并且这会导致与从MyController继承的任何控制器相同的问题。 – counsellorben
@counsellorben - 去看看,看看它是什么。 –
@counsellorben - 我能够创建一个基类和依赖关系的示例项目,它工作得很好。如果你创建一个答案,我会接受它,因为这似乎是我的问题。试图将Ninject的应用程序移植到MEFContrib的IoC。似乎要找出依赖关系会有点麻烦。顺便说一下,有没有办法查看哪些依赖关系导致MEF无法构建适当的部分? –