我正处于开发 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 角色目录会导致页面按预期加载。如果我无法弄清楚这些文件的副本是什么,我可能只会创建一个后期构建脚本。