我需要我的 MVC 3.0 项目来支持模块。通过模块,我的意思是拥有单独的库,其中包括模型 View 和 Controller 。这样做的原因是具有可被多个应用程序使用的应用程序的可重用部分。
对我来说最好的办法是将这些模块作为 mvc 应用程序 - 让 resharper、mvc Visual Studio 插件工作。我的意思是智能感知、 Controller 导航、 View 和 Controller 创建屏幕等。如果我将这些类包含在通用类库中,那么功能就消失了。
将应用程序设置为使用“模块”应用程序中的 Controller 非常简单。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
, new[] { "ModuleApplication1.Controllers" }
);
问题是 Controller 试图加载的 View 在当前应用程序中不存在,但它在我的“模块”应用程序中。更糟糕的是 - View 根本没有编译或嵌入到 dll 中。我不会复制它们。我更喜欢从 dll 加载它们。如果它是可能的。
我承认,我是 MVC 的新手。
我错过了什么吗?有什么解决办法吗?我的方法完全错误吗?
最佳答案
您可以使用MvcContrib可移植区域,它们正是为这种情况而设计的。
关于asp.net-mvc - MVC项目架构支持模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8939219/