Подтвердить что ты не робот

Нет Intellisense в представлениях, обновляющихся с ASP.NET MVC 4 до MVC 5

Я только что обновил проект mvc4 (используя vs2012) до mvc5. После того, как у меня появилось много проблем, связанных с зависимостями, я наконец нашел этот учебник и выпрямил все, чтобы он строился без проблем. Однако мне нужно intellisense для любого из представлений (файлы .cshtml): @using, @model, @html. *, @styles... ничего не работает. Я, должно быть, сломал ссылку на механизм просмотра бритвы, не имея возможности правильно их разобрать. Я дважды проверил web.configs и ничего не вижу. Есть идеи? Благодарю.

4b9b3361

Ответ 1

Теперь ASP.NET и Web Tools 2013.1 для Visual Studio 2012 были выпущены и должны разрешить проблему Intellisense MVC5 с VS 2012.

Этот выпуск приносит массу больших улучшений и включает некоторые фантастические усовершенствования ASP.NET MVC 5, веб-API 2, строительные леса и Entity Framework для пользователей Visual Studio 2012 и Visual Studio 2012 Экспресс для Интернета.

Вы можете загрузить обновление: http://blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-visual-studio-2012.aspx

Ответ 2

Прошел через ту же агонию и работал без intellisense во взглядах около 3 недель. Тогда я наконец нашел его. Он начал работать, когда я переключил настройки веб-страниц на версию 3 в web.config.

Итак, в моем web.config это была версия 2.0.0.0, после того как я обновился до 3.0.0.0, он начал работать

  <appSettings>
    <add key="webpages:Version" value="3.0.0.0"/>
     ...
</appSettings>

Схватившись, это была твоя проблема и помогла, потому что я чувствую твою боль:)

-------------------------------------------- ------------

ОБНОВЛЕНИЕ:. Для тех, кто все еще ищет исправление для этих проблем в пост-MVC5-обновлении, это помогло мне: в ~/Views/web.config, обновление с MVC 5.2.2.0 до 5.2. 3.0, используя Nuget, не обновлял эту строку:

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

Обновление 5.2.2.0 до 5.2.3.0 привело к оживлению Intellisense. Возможно, вам придется закрыть представление и снова открыть его, чтобы загрузить Intellisense.

Ответ 3

Я попробовал все это и другие вещи в моем случае, это решение изменило эту строку, которая находится в Views-WebConfig внутри

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

to

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

Ответ 4

Хотя приведенные выше ответы могут решить большинство из этих проблем, моя проблема, по-видимому, была вызвана установкой VS, которую я установил. См. Ответ, предоставленный Эмран Хусейном здесь: Visual Studio 2013 IntelliSense перестает работать для контроллеров ASP.NET MVC5

Его ответ был замечен для меня, хотя моя проблема была с intellisense только в моих Razor Views. Я отключил расширение и перезапустил VS2013, и intellisense снова работает без проблем. Как и Эмран, я не решаюсь обвинять производителя расширения (AzureXplorer от программного обеспечения ClumsyLeaf), потому что я думаю, что это может быть проблема VS?

Ответ 5

Ни один из предыдущих решений не работал у меня. Я использую VS 2012 и MVC 5. Это то, что я сделал, чтобы заставить его работать:

Также важно отметить это:

<add key="webpages:Version" value="3.0.0.0" />

Ответ 6

В подсказке тега "@model" в самой верхней части моего файла просмотра бритвы указано, что autofac 3.4.0.0 не удалось найти. Все мои проекты использовали Autofac 3.1.5, поэтому я добавил перенаправление в web.config, чтобы быстро решить проблему:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.1.5" />
        </dependentAssembly>
        ...

Мой intellisense вернулся, и я отложил последнее исправление на задание с низким приоритетом: D