Ссылка на объект не установлена ​​в экземпляр объекта при открытии файлов cshtml в visual studio 2013

Когда я пытаюсь открыть файлы .cshtml в Visual Studio 2013, я получаю эту ошибку:

enter image description here

Object reference not set to an instance of an object

Я пробовал решение, данное здесь, но это не сработало. Вот мой раздел appsettings в web.config:

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

Я не думаю, что проблема в этом конкретном проекте, потому что все мои другие проекты MVC имеют одинаковую проблему.

Ответы

Ответ 1

У меня была такая же проблема в Visual Studio 2015.

Я решил его, удалив все файлы в %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

(папка 14.0 должна отличаться в зависимости от установленной версии VS.

Ответ 2

Попробуйте создать новый проект и добавьте файл cshtml. Не делайте никаких других изменений и не используйте созданные вами шаблоны. Если проблема возникает, когда вы пытаетесь открыть этот файл, что-то не так с вашей системой.

В этом случае вы можете попытаться получить больше информации от VS, включив журнал. Подробная ссылка для включения журнала

Простой пример

Devenv/log

Ответ 3

Здесь относительно странный процесс, который работал у меня раньше:

  • Откройте Visual Studio, откройте исходный проект.
  • Откройте вторую копию визуальной студии
  • Во второй Visual Studio. Перейдите в Debug → Attach to Process и прикрепите к первому экземпляру Visual Studio.
  • Сделайте то, что вы делали в первом экземпляре Visual Studio, который сделал исключение.
  • Проанализируйте имена классов/методов в трассировке стека, чтобы найти багги-расширение или плагин.
  • Удалите часть программного обеспечения.

Ответ 4

Если вы попытаетесь открыть проект asp.net mvc 4 в своей Visual Studio 2013, просмотрите web.config edit <appSettings> следующим образом

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

Надеюсь, что это поможет:)

Ответ 5

Есть ли у вас какие-либо расширения? Возможно, один из них выбрасывает эту ошибку.

Можете ли вы попробовать запустить vs .net в SafeMode и проверить, не устранена ли проблема? Если да, попробуйте отключить свои расширения один за другим, пока он не исчезнет.

devenv.exe/SafeMode

Другое решение, дважды проверьте, что ваш весь web.config действителен (не только раздел appSettings). Он не может содержать дубликат, недействительный дочерний элемент, не совсем сформированный XML...

Ответ 6

Это может быть проблема с версией используемого Javascript. У меня была аналогичная проблема, когда я только что удалил и переустановил последние пакеты nuget. Затем я убедился, что правильные версии перечислены в web.config.

Ответ 7

У меня была эта смешная ошибка, это сработало для меня тогда.

попробуйте "Выгрузить проект" и перезагрузите его, щелкнув правой кнопкой мыши по имени проекта в браузере решений

Ответ 8

В моей visual studio 2015 разрешено удаление всех файлов в% LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

Спасибо...

Ответ 9

В принципе, убедитесь, что ваш web.config не поврежден.

Я получил это после вставки "&" вместо "amp;" в настройках приложения.

Ответ 10

Попробуйте это; В моей visual studio 2015 разрешено удаление всех файлов в% LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache он работает.