多个项目的区域 - 在子项目中找不到视图

时间:2009-12-03 09:03:30

标签: asp.net-mvc-2 .net-4.0 asp.net-mvc-areas

我一直在关注"Creating an ASP.NET MVC Areas Application Using Multiple Projects"来自MSDN的本指南。由于ASP.NET MVC 2.0只是预览,因此可以想象会出现一些错误。

我的问题是,它根本不起作用!至少不是它的假设方式。在设置好所有内容并按下F5之后,人们会认为,这将是有效的,整洁! BEEEP。错。

它在子项目中找不到视图!因为在我的情况下,它试图在~/Views内进行搜索,当然这是在父母身上!

调试时,我看到它在我的子项目中运行Controller,但在该Action上使用return View();时,它会查看父视图文件夹。

我问,Bug还是功能?

在Vs2009,Vs2010中使用Framework 3.5和4.0进行了尝试。

2 个答案:

答案 0 :(得分:4)

我在Google中添加了“多个项目区域”,并发布了这篇文章:http://forums.asp.net/p/1494640/3540105.aspx。特别注意Phil Haack的回应。

由于MSDN帖子中的此条目,似乎在父项目中定义您的视图“按设计运行”:Now that all the code is in place, the final step is to customize the build process for each area project. This customization causes some child-area files, such as the views, to be copied to the main project before the application is built.

帖子的“问题”是它是为测试版定义的,这个版本步骤很容易访问。 RC +您必须指向Futures组件,如果这是您选择的路径,则指定构建步骤略有不同。

如果你不喜欢这个推动你的方向,那么MvcContrib Phil提到的便携式区域部分就像你要找到的那样好。

答案 1 :(得分:0)

我经历了和你一样的痛苦。这就是我所做的。

  1. 确保我正在运行MVC 2 RC(卸载测试版2,安装RC)。
  2. 从头开始重新创建项目。
  3. 无需编辑csproj文件,无需创建routes.cs,也无需编辑global.ascx.cs,只需右键单击主项目即可获取上下文菜单。从“添加”菜单项中,您可以创建新区域。
  4. 观点必须是主要的 项目或你可以使用 这篇文章中的信息 http://forums.asp.net/p/1494640/3540105.aspx,我计划这样做,每个区域都有观点。
  5. 它不支持多项目区域,但现在对我来说没关系。上面的链接确实指出了多项目区域的方向。