【问题标题】:Areas over multiple projects - Views not found in child projects多个项目的区域 - 在子项目中找不到视图
【发布时间】:2009-12-03 09:03:30
【问题描述】:

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

我的问题是,它根本行不通!至少不是它想象的那样。设置好所有东西并按 F5 后,人们会认为,这会工作,整洁!哔哔声。错了。

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

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

请问,Bug 还是 Feature?

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

【问题讨论】:

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


    【解决方案1】:

    我在 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 提到的便携式区域部分与您将获得的替代方案一样好。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • “它不支持多项目区域”,那么这不是我的问题的解决方案,是吗?
      • 我相信我说的不是多项目解决方案,而是解决问题的方法。可能是其他人有兴趣知道,因为在候选版本中删除了多项目领域支持。
      • 如果您再次阅读我的问题,您会发现我已经介绍了您需要在主项目中拥有它的部分。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多