1

我有以下设置:
BaseController1继承System.Web.Mvc.Controller。这个控制器被编译成一个单独的 dll,从我的项目中引用。
BaseController2在我的项目中继承了 BaseController1 。
MyController继承BaseController2

当我使用此设置运行应用程序时,出现 404 错误。

但是,如果BaseController2直接继承System.Web.Mvc.Controller,并且我使用此设置运行应用程序,那么一切都会按预期工作。

我有所有继承的控制器的默认构造函数:调用 base()。BaseController1
_在程序集中使用对 asp.net mvc 3 的引用进行编译,而我的项目完全依赖于 asp.net mvc 4。

这可能是问题吗?或者我做错了什么。

提前致谢!

4

1 回答 1

1

你没有做错任何事,但你必须让 MVC 在特定的程序集/命名空间中查找:

ControllerBuilder.Current.DefaultNamespaces.Add(
    "ExternalAssembly.Controllers");

这个问题已经回答了这个问题:asp.net mvc put controllers into a separate project

于 2012-11-29T16:11:52.690 回答