Имя "модель" не существует в текущем контексте ASP.NET MVC5

я кодирую плагин для NopCommerce 3.2, и в представлениях я получаю ошибку, упомянутую выше, но также и для "макета" и "Html". Я скопировал ту же самую сеть.Config, который работает в другом плагине. Я также добавил те же ссылки, что и в рабочем плагине. При компиляции плагин работает, но у меня нет intellisense и я не могу доверять, что VisualStudio правильно отмечает ошибки. Я использую профессиональное обновление VS2013 1.

здесь сети.Конфиг файл:

<?xml version="1.0" encoding="utf-8"?>

<!-- We use this file to make razor intellisense work in the class library -->




<configuration>
  <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>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation targetFramework="4.5" />
    <pages
    validateRequest="false"
    pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.0.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.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>
  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="Nop.Web.Framework.ViewEngines.Razor.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>
</configuration>

EDIT: Извините, если вы нашли этот вопрос не исследованным, но я уверяю вас, что потратил часы, чтобы попытаться найти решение (включая те вопросы, которые я нашел здесь, в stackoverflow, которые похожи и указывают на веб-сайт.config как проблема, по которой я включил этот файл в свой вопрос), но не могу его найти.

10 ответов


эта ошибка, вероятно, была вызвана Resharper. Мы команда из трех разработчиков, использующих GIT. Один из нас установил Resharper, и это, вероятно, вызвало ошибку для двух других из нас. Когда мы установили ReSharper trial, он внезапно снова сработал. К сожалению, он не работает при удалении Resharper снова...


попробуйте добавить этот раздел в система.сеть. (Убедитесь, что версии, которые я добавил, действительно те, которые вы используете)

<compilation targetFramework="4.5">
  <assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
</compilation>

закрыть .просмотр файлов cshtml. Перестроить проект. И откройте их снова.


Un-установка пакета project MVC Nuget и переустановка его исправили его для меня. Мой был испорчен, когда я изменил .net-версию проекта.


убедитесь, что пространство имен, определенное в представлении, совпадает с пространством имен модели.


Если вы измените свойства проекта на target 4.5.1,

targetFramework во многих других местах по-прежнему будет говорить 45

вы можете найти targetFramework 3-4 раз в корневой сети.конфиг и во всех видах пакетов.конфиг.

У меня была такая же проблема, измените проект на target 4.5, и он прояснился.

лучше не целиться 4.5.1


У меня была та же проблема. Решением было удалить пакет project MVC Nuget и переустановить его.

http://mhammadchehab.com/wordpress/2013/12/enabling-intellisense-for-razor-in-class-library-mvc-5-razor-3-0/


изменить Выход Проекта путь /bin на Все Конфигурации на Свойства Проекта. Это странно, но кажется, когда VS Выход Проекта толкнул /bin/Debug или /bin/Release intellisense полностью сломан.

project properties


Я испытал ту же ошибку в моем проекте MVC 5. Моим делом была паутина.папка config in Views Как-то не была опубликована. Добавление его обратно решило проблему.


У меня была такая же ошибка и просто поменяли к

Я просто пытаюсь получить cshtml intellisense в консольном приложении, чтобы он работал для меня, чтобы вернуться к стандартной базовой веб-странице.


Я свой случай, я должен был сброс кэша компонентов Visual Studio закрыв Visual Studio и удалив эту папку:

C:\Users\[имя пользователя]\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache