Visual Studio 2015 Razor View MVC Типы не распознаются

ошибка синтаксиса

Я установил Visual Studio 2015 и перезагрузил компьютер. Типы "MVC" не распознаются в 2015 году, но все еще распознаются в 2013 году. Это мой "Views" web.config:

<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>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.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.Optimization"/>
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

7 ответов

Решение

Мы полагаем, что это происходит, потому что вы в настоящее время используете MVC 4, а инструменты MVC 4 не включены в Visual Studio 2015. Включены только инструменты MVC 5 и MVC 6. Если вы действительно используете MVC 5 и видите эти проблемы, сообщите нам об этом. Вы можете подтвердить, что используете MVC 4, открыв package.config и выделив запись для Microsoft.AspNet.Mvc. Если указанная версия начинается с "4", это означает, что вы используете MVC 4.

Тем не менее, мы ценим ваши отзывы и инвестиции, которые вы сделали в MVC 4. Исходя из ваших и других отзывов клиентов, мы рассматриваем возможность сделать инструменты MVC 4 доступными для Visual Studio 2015. Тем временем ваш проект будет компилироваться и запускаться в Visual Studio 2015, несмотря на проблемы с инструментами. В качестве альтернативы, вы можете установить Visual Studio 2013 и 2015 на своей машине параллельно. Таким образом, вы можете использовать Visual Studio 2013 для проектов MVC 4 и Visual Studio 2015 для проектов MVC 5 и выше.

Это не сработало для меня. Кажется, что эта проблема имеет несколько основных причин, связанных с web.config.

Еще одной проблемой было несоответствие версии компиляции root web.config.

<compilation debug="true" targetFramework="4.5.2">

<httpRuntime executionTimeout="600" maxRequestLength="10240" requestValidationMode="2.0" targetFramework="4.5.2" />

Если версия httpruntime отличается от версии сборки, это может произойти.

Если вы обновились с MVC4 до MVC5: в Views/web.config измените

   <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

в

   <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

От Криса Чжао на asp.net: Вы можете рассмотреть вопрос об удалении VS 2015, переустановить его снова и проверить, выбраны ли "Инструменты веб-разработчика" [во время установки перейдите в "Пользовательский", чтобы убедиться, что он проверен.

Я сделал это, и он избавился от красных подчеркиваний под Viewbag.

Я думаю, что подобная проблема была описана /questions/15687682/mvc-razor-view-intellisense-sloman-v-vs-201320152017. Используется старая версия System.Web.Mvc (по мнению VS 2015).

Я пробовал много вещей, чтобы решить эту проблему. Назвать несколько:

  1. Проверка и снятие отметки Инструменты-> Текстовый редактор-> Все языки-> Члены автоматического списка и информация о параметрах
  2. Перезапуск Visual Studio
  3. Удаление всех видов файлов в разных папках:bin, *.sou, %AppLocacalData%\Temp и т. Д.

Ничего не сработало.

Затем я зашел в Панель управления, запустил установку Visual Studio и нажал кнопку "Восстановить". После завершения процесса он предложил перезагрузить компьютер, и после этого intellisense снова начал работать в режиме просмотра бритвы.

Я обнаружил, что мне нужно увеличить версию для сборок, имеющих дело с разделами конфигурации, до 3.0.0.0 в файле Views/Web.config:

  <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>

Раньше были все 2.0.0.0.

Другие вопросы по тегам