c# 강좌 형식 'ASP._Page_Areas_Admin__ViewStart_cshtml'의 개체를 'System.Web.WebPages.StartPage'형식으로 캐스팅 할 수 없습니다.



visual studio community 2017 asp net mvc 5 (1)

_ViewStart.cshtml 파일은 Views 폴더에만 놓을 수 있습니다. 예외적으로 _ViewStart.cshtml ~/Areas/Admin/Views/ 폴더 ( web.config 와 동일한 수준)에 배치하지 않은 것이 _ViewStart.cshtml .

다음은 올바른 프로젝트 구조가 어떻게 나타나야하는지입니다.

"Admin"이라는 이름의 영역을 만들었습니다.

/ Area / Admin / Views /에 _ViewStart.cshtml이 있습니다.

@{
    Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}

/ Admin /에있는 페이지를 방문 할 때 다음 오류가 나타납니다. 'ASP._Page_Areas_Admin__ViewStart_cshtml'유형의 객체를 'System.Web.WebPages.StartPage'에 캐스팅 할 수 없습니다.

영역에서 일반적인 _ViewStart는 어떻게 사용합니까?에서 제안 된 변경 사항을 만들었 습니까? .

나는이 web.config를 루트에두고 web.config는 / Areas / Admin / Views /에있다.

<configSections>
  <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  </sectionGroup>
</configSections>

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Routing" />
    </namespaces>
  </pages>
</system.web.webPages.razor>

<appSettings>
  <add key="webpages:Version" value="1.0.0.0"/>
  <add key="webpages:Enabled" value="false" />
  <add key="ClientValidationEnabled" value="true"/>
  <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>

아무도 내가 여기서 뭘 잘못하고 있는지 알아?

편집 : 이것이 도움이 될지 모르겠지만 _ViewStart.cshtml의 코드를 비워서 삭제하면 / Admin의 페이지를 오류없이 가져올 수 있습니다.





asp.net-mvc-3