我需要我的MVC 3.0项目来支持模块.按模块我的意思是有独立的库,其中包括模型视图和控制器.其原因是具有可重复使用的应用程序部分,可供多个应用程序使用.
对我来说最好的是将这些模块作为mvc应用程序 – 有resharper,mvc visual studio addons工作.我的意思是智能感知,控制器导航,视图和控制器创建屏幕等.如果我在普通类库中包含这些类,那么功能就消失了.
将应用程序设置为使用“模块”应用程序中的控制器非常简单.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
, new[] { "ModuleApplication1.Controllers" }
);
问题是控制器试图加载的视图在当前应用程序中不存在,但它在我的“模块”应用程序中.更糟糕的是 – 视图不会编译也不会嵌入到dll中.我不会复制它们.我更喜欢从dll加载它们.如果它是可能的.
我承认,我是MVC的新手.
我错过了什么吗?这有什么解决方案吗?我的做法完全错了吗?
最佳答案 您可以使用
MvcContrib个便携式区域,它们的设计完全符合此方案.