3

我一直在关注 MSDN 中关于“使用多个项目创建 ASP.NET MVC 区域应用程序”的指南。由于 ASP.NET MVC 2.0 只是预览版,因此可以想象会有一些错误。

我的问题是,它根本不起作用!至少不是它想象的那样。设置完所有内容并按 F5 后,人们会认为,这将工作,整洁!哔哔声。错误的。

它在子项目中找不到视图!因为在我的情况下,它试图搜索~/Views当然是在父级中!

调试时,我看到它确实在我的子项目中运行控制器,但是return View();在该操作上使用时,它会在父视图文件夹中查看。

我问,Bug 还是 Feature?

在 Vs2009、Vs2010 和 Framework 3.5 和 4.0 中都试过这个。

4

2 回答 2

4

我把“多项目领域”放在谷歌上,然后看到这篇文章: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 提到的便携式区域部分与您将获得的替代方案一样好。

于 2010-01-04T20:32:09.053 回答
0

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

  1. 确保我正在运行 MVC 2 RC(卸载 beta 2,安装 RC)。
  2. 从头开始重新创建项目。
  3. 无需编辑 csproj 文件,无需创建 routes.cs,也无需编辑 global.ascx.cs,只需右键单击主项目即可获得上下文菜单。从添加菜单项中,您可以创建一个新区域。
  4. 视图必须在主项目中,或者您可以使用这篇文章 http://forums.asp.net/p/1494640/3540105.aspx中的信息,我计划这样做,每个区域都有视图。

它不支持多项目区域,但现在我没问题。上面的链接确实为您指明了多项目区域的方向。

于 2009-12-29T22:00:29.673 回答