0

我正处于开发 Azure Web 项目的早期阶段,可能需要 6 个多月的时间才能完成。构成 UI 的视图将受益于 MVC 3 预览版 1 中的 Razor 视图引擎提供的简洁语法。

每当站点作为 Azure Web 角色运行时,都会引发以下异常:

InvalidOperationException:未找到视图“索引”或其主视图。
搜索了以下位置:  
  ~/Views/Content/Index.aspx  
  ~/Views/Content/Index.ascx  
  ~/Views/Shared/Index.aspx  
  ~/Views/Shared/Index.ascx  
  ~/Views/Content/Index.cshtml  
  ~/Views/Shared/Index.cshtml  

笔记:

  • 该站点在作为独立实例启动时按预期运行(这似乎验证了从 MVC 2 到 3 的升级工作正常——请参阅接下来的两点)
  • '~/Views/Content/Index.cshtml' 文件及其引用的 '~/Views/Shared/_Layout.cshtml' LayoutPage 都存在。
  • 我遵循了 MVC 3 Preview 1 Release Notes 中的步骤(将 System.Web.Mvc 的 2.0 版本的引用替换为 3.0,修改了 csproj 文件中的 ProjectTypeGuids,并更新了 bindingRedirect 版本)。
  • 搜索 Google 后,有人建议将 System.Web.Mvc.dll 的 Copy Local 设置为“True”。该页面似乎引用了旧版本的 MVC。做出这种改变并没有帮助。

编辑:

  • 我刚刚有了再挖掘 Azure 目录的想法。Azure 云服务使用的构建过程似乎跳过了 .cshtml 文件。手动将文件复制到 Azure 角色目录会导致页面按预期加载。如果我无法弄清楚这些文件的副本是什么,我可能只会创建一个后期构建脚本。
4

1 回答 1

2

当右键单击 ActionResult 方法并选择“添加视图”时,会在视图目录中创建 CSHTML 视图文件,但文件的构建操作属性设置为“无”而不是“内容”。

于 2010-09-13T04:29:26.253 回答