我打开了一个问题on CodePlex,但根本没有收到任何答复。
基本上,我有一个基本 Controller ,我所有的 Controller 都继承自该 Controller 。当我创建一个新的MVC3项目时,将我的 Controller 放在另一个程序集中,并将MEFContrib.MVC3添加到该项目中,一切正常。当我使任何 Controller 从我的基类继承时,就不再可以找到它们。
我对MEFContrib不够熟悉,无法知道到底发生了什么,但是我尝试用ExportAttribute
装饰我的 Controller ,但也没有用。
所有这些都是与主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是完全正确的。我的依存关系没有正确标记为导出,因此无法正确构造 Controller 。我逐步了解了每个依赖项,逐步了解了自己的依赖项,发现了我错过的几个依赖项。
最佳答案
最可能的问题是MyController
类中的依赖项存在问题。这将导致从MyController继承的任何 Controller 出现问题。
请参阅this answer,获取一些示例代码,您可以使用这些示例代码尝试诊断问题所在。
关于asp.net-mvc-3 - MEFContrib.MVC3:导出具有基类的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7289797/