Я задал вопрос на CodePlex , но не получил никаких ответов вообще.
По сути, у меня есть базовый контроллер, от которого наследуются все мои контроллеры. Когда я создаю новый проект MVC3, помещаю свои контроллеры в другую сборку и добавляю в проект MEFContrib.MVC3, все отлично работает. Когда я делаю какие-либо контроллеры наследуемыми из моего базового класса, они больше не могут быть найдены.
Я недостаточно знаком с MEFContrib, чтобы знать, что именно ломается, но я пытался украсить свои контроллеры ExportAttribute
s, и это тоже не сработало.
Все это отличается от основного проекта 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 был совершенно прав. У меня были зависимости, которые не были должным образом помечены для экспорта, и поэтому контроллеры не могли быть правильно составлены. Я прошел через каждую из своих зависимостей, прошел через их собственные зависимости и обнаружил несколько пропущенных.