使用Azure开发环境的MVC 3预览1

时间:2010-09-13 00:31:58

标签: asp.net-mvc azure razor

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

只要网站作为Azure网络角色运行,就会抛出以下异常:

InvalidOperationException: The view 'Index' or its master was not found.
The following locations were searched:  
  ~/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预览1发行说明中的​​步骤(用3.0修改了System.Web.Mvc的2.0版本,修改了csproj文件中的ProjectTypeGuids,以及更新了bindingRedirect版本)。
  • 搜索Google后出现了一条建议,要求将System.Web.Mvc.dll的“复制本地”设置为“True”。该页面似乎引用了旧版本的MVC。做出这种改变并没有帮助。

修改

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

1 个答案:

答案 0 :(得分:2)

右键单击ActionResult方法并选择“添加视图”时,CSHTML视图文件在视图目录中创建,但文件的Build Action属性设置为“None”而不是“Content”。