Я пытаюсь обновить MVC3 до проекта MVC5. Я делаю это с нуля (т.е. Создаю новое решение, а затем копируя файл кода по файлу). Этот проект имеет представления ASPX/ASCX.
Моя проблема заключается в том, что строки Inherits в ASPX не допускают сильного ввода, т.е.
Inherits="System.Web.Mvc.ViewPage"
в порядке, но
Inherits="System.Web.Mvc.ViewPage<CCOK.Models.ViewModels.VMHperdet>"
не может разрешить символ "ViewModels"
Аналогично Inherits="System.Web.Mvc.ViewUserControl<string>"
не может разрешить символ ViewUserControl
Я попытался создать пустой проект MVC в рамках решения, и произойдут те же самые вещи.
Web.Config в папке "Представления" в настоящее время выглядит так... (после копирования нескольких примеров решений проблемы). Однако validateRequest, pageParserFilterType и UserControlBaseType имеют предупреждения intellisense.
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="Kendo.Mvc.UI" />
<add namespace="CCOK" />
<add namespace="CCOK.Extensions" />
</namespaces>
</pages>
</system.web.webPages.razor>
однако, я получаю те же проблемы с "запасом" web.config
Как я могу получить строго типизированные представления ASPX/ASCX, работающие сейчас?
После дня отсутствия очевидного я заметил, что я пытаюсь определить свой элемент страниц winforms внутри system.web.webPAges.razor. Ключ находится в слове бритва. Элемент выше страницы должен быть внутри system.web (а не web.webPages.razor), а затем все это работает.