抛开visual studio,纯手工创建asp.net mvc遇到的问题

2021-06-11 08:03

阅读:673

标签:white   entry   精简   cti   code   perm   mode   文本编辑   size   

脱离Visual Studio,只用文本编辑器、.NET Framework、IIS Express创建ASP.NET MVC应用时,需要精简~/View目录下web.config文件内容,之前创建的asp.net mvc hellow world应用一切正常,在清理web.config文件后,出现如下错误:

The view must derive from WebViewPage, or WebViewPage. (The view at ‘~/Views/home/index.cshtml’ must derive from WebViewPage, or WebViewPage.)

详细的解决方法,请参考这里:https://blogs.msdn.microsoft.com/gaurav/2014/01/14/the-view-must-derive-from-webviewpage-or-webviewpagetmodel-the-view-at-viewshomeindex-cshtml-must-derive-from-webviewpage-or-webviewpagetmodel/

Web应用根目录下的Web.config文件可以没有,只要有Global.asax文件就行,但为了解析MVC中cshtml格式文件,一种是使每个页面继承自“@inherits System.Web.Mvc.WebViewPage”,_ViewStart.cshtml文件继承自@inherits System.Web.WebPages.StartPage;这样每个页面都写也挺麻烦,第二种方法就是增加~/View目录下的web.config,最简形式作者做了说明,这里拷贝一份,以备后用:

xml version="1.0"?>
configuration>
  configSections>
    sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, 
                  System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35">
      section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, 
               Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor,
               Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    sectionGroup>
  configSections>
  
  system.web.webPages.razor>
    pages pageBaseType="System.Web.Mvc.WebViewPage" >pages>
  system.web.webPages.razor>
configuration>


备注:上文中创建的最简但的ASP.NET MVC应用helloworld,只在view中打印一行文本,以验证MVC中Controller和View运行是否正确。

抛开visual studio,纯手工创建asp.net mvc遇到的问题

标签:white   entry   精简   cti   code   perm   mode   文本编辑   size   

原文地址:http://www.cnblogs.com/andy65007/p/7292079.html


评论


亲,登录后才可以留言!