Ошибка Visual Studio 2015 «Ссылка на объект не установлена для экземпляра объекта» после установки ASP.NET и Web Tools 2015 (RC1 Update 1)

103

После установки ASP.NET и веб-инструментов 2015 (обновление RC1 1) я получаю следующую ошибку в проектах ASP.NET MVC 4 при открытии файлов *.cshtml:

Ссылка на объект не установлена ​​в экземпляр объекта

Изображение 448

Я получаю то же сообщение об ошибке, даже если я запускаю новый проект ASP.NET MVC 4 и пытаюсь открыть там файл *.cshtml.

  • 1
    Вы пытались восстановить Visual Studio?
  • 6
    VS 2015 может делать такие вещи .. Привыкнуть к этому :)
Показать ещё 9 комментариев
Теги:
razor
visual-studio-2015
asp.net-mvc-4

17 ответов

171
Лучший ответ

Может быть, это поможет:

  1. Удалите содержимое из следующих папок:
    1. C:\Users\%USERPROFILE%\AppData\Local\Microsoft\VisualStudio
    2. C:\Users\%USERPROFILE%\AppData\Local\Microsoft\VSCommon
  2. Иногда вам нужно перейти на:
    1. [x64] C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
    2. [x86] C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE

и запустите devenv/resetuserdata.

Ожидайте, что все ваши пользовательские настройки, такие как макет Visual Studio, связанная учетная запись Microsoft или стартовая страница, исчезнут.

  • 0
    Сброс пользовательских данных решил проблему. благодарю вас
  • 0
    где вы используете devenv / сброс пользовательских данных? из командной строки в этом каталоге?
Показать ещё 20 комментариев
53

Удалить %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache.

В качестве альтернативы используйте расширение Clear MEF Component Cache.

  • 2
    Расширение очень приятно !!!
  • 2
    Расширение работает отлично.
Показать ещё 4 комментария
15

Для меня

  • Я закончил процесс в диспетчере задач Windows: VsHub.exe.
  • Перезагрузка Visual Studio.

После этого все снова работает как шарм!

  • 0
    Я проголосовал за ваш ответ, потому что это решило проблему 'Ссылка на нуль-объект', но после этого я получил новое исключение в Visual Studio The operation is not completed, invalid pointer
6

Я решил это сделать

run devenv /resetuserdata

в этом пути:

[x64] C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE

Я предполагаю, что в x86 он работает по этому пути:

[x86] C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE
  • 1
    Этот работает для меня, но, к сожалению, он сбрасывает много вещей, в том числе Re # :(
  • 0
    Я просто попробовал, и это сработало для меня. что насчет этого заставляет его работать?
4

Рекомендуется попробовать любое или все из следующих действий:

  • Перезапустите Visual Studio

  • Попробуйте запустить как администратор (щелкните правой кнопкой мыши Visual Studio и выберите "Запуск от имени администратора" )

  • Проверьте наличие обновлений для Visual Studio (загрузите и установите их, если они есть)

  • Попробуйте открыть другое решение/проект

Если проблемы не исчезли, вы можете попробовать следующие варианты:

  • Перезапустите локальную машину

  • Попытка reset Visual Studio на системные значения по умолчанию (это можно сделать из параметров в Visual Studio)

  • Попытка восстановить установку Visual Studio

  • 0
    Все попытки, только ремонт бегаю сейчас, сижу и жду ...
  • 0
    это сработало для вас
Показать ещё 4 комментария
3

В надежде, что это может сузить дело/помочь кому-то, я сделал следственный подход. Для меня я сначала переместил папку в папку C:\Users\{user}\AppData\Local\Microsoft\VisualStudio в Мои документы и разрешил Visual Studio повторно создать ее, перезапустив ее. Это устранило ошибки. Поэтому я переместил все обратно один за другим и каждый раз перезапускал Visual Studio, пока не обнаружил преступников. Эти папки были в порядке, чтобы вернуться назад:

  • 1033 (перезапись автогенерированной копии со старым)
  • Дизайнер (был в моей старой копии, не изначально заново созданный при повторном запуске VS, скопировал его обратно)
  • Расширения (перезаписали автогенерированную копию старым)
  • ImageLibrary (перезаписывается автоматически сгенерированная копия со старым)
  • Уведомления (перезапись автоматически сгенерированной копии со старым)
  • STemplate (была в моей старой копии, но не была первоначально создана при повторном запуске VS, скопировала ее обратно)
  • VTC (был в моей старой копии, не изначально заново созданный при повторном запуске VS, скопировал его обратно)

Эти файлы были хороши, чтобы вернуться в/перезаписать автоматически сгенерированные:

  • ApplicationPrivateSettings (был в моей старой копии, но не был первоначально создан при повторном запуске VS)
  • ApplicationPrivateSettings.lock(перезаписывает автогенерированную копию старым)
  • vspdmc.lock(перезаписывается автоматически сгенерированная копия со старым)

Эти файлы были в порядке, чтобы вернуться назад. Каждый из них был в моей старой копии и не был первоначально создан при повторном запуске VS:

  • .NETFramework, Version = v4.0, Set = Framework, Hash = C958D412.dat
  • .NETFramework, Version = v4.0, Set = RecentAssemblies, Hash = 0.dat
  • .NETFramework, Version = v4.5, Set = Extensions, Hash = 75EAE334.dat
  • .NETFramework, Version = v4.5, Set = Extensions, Hash = 497525A2.dat
  • .NETFramework, Version = v4.5, Set = Framework, Hash = 5AE9A175.dat
  • .NETFramework, Version = v4.5.2, Set = Extensions, Hash = 24CEEB0D.dat
  • .NETFramework, Version = v4.5.2, Set = Extensions, Hash = 72AE305.dat
  • .NETFramework, Version = v4.5.2, Set = Extensions, Hash = ADF899D7.dat
  • .NETFramework, Version = v4.5.2, Set = Framework, Hash = D8E943A2.dat

Это вызвало проблемы - удалите эти файлы и перезапустите VS, чтобы они могли их повторно создать:

  • ComponentModelCache - когда я переписал содержимое этой папки с моими старыми (4 файла: MS.VS.Default.cache,.catalogs,.err,.external), это дало мне все ошибки, которые я получил раньше о не возможность загрузки пакетов при загрузке моего проекта и ошибка "ссылка на объект, не установленная на экземпляр объекта" при попытке закрыть VS.
  • devenv.exe.config - то же, что и ComponentModelCache
  • .NETFramework, Version = v4.0, Set = Extensions, Hash = 6D09DECC.dat - вызывает ошибку из службы языка JavaScript, жалуясь на отсутствие файлов js
  • .NETFramework, Version = v4.0, Set = Extensions, Hash = 9951BC03.dat - вызывает ошибку из службы языка JavaScript, жалуясь на отсутствующие файлы js.
  • .NETFramework, Version = v4.5.2, Set = RecentAssemblies, Hash = 0.dat - вызывает ошибку из службы языка JavaScript, жалуясь на отсутствующие файлы js

Это ошибки из последних файлов .NETFramework(которые я не получаю, если не добавлю их обратно):

01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\libhelp.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\sitetypesWeb.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\domWeb.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\underscorefilter.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\showPlainComments.js' not found.

Мне просто нужно будет повторно установить/восстановить подключаемый модуль JavaScript Language Service, поэтому он может быть не связан. Но определенно devenv.exe.config и ComponentModelCache необходимо исправить ошибку "ссылка на объект, не установленная на экземпляр объекта".

  • 1
    Я столкнулся с проблемой при копировании и вставке в Visual Studio 2013, удаление папки ComponentModelCache сработало для меня.
3

Для меня ASP.NET 5 еще не требуется, я удалил обновление и переустановил ASP.NET 4.5. Это немного сложно:

  • Удалено из панели управления "Microsoft ASP.NET 5 RC1 Update1". После этого вы больше не будете открывать проекты ASP.NET MVC.
  • Затем я изменил установку "Microsoft Visual Studio Professional 2015", нажал "Изменить" и выбрал "Инструменты для веб-разработчиков Microsoft"

Больше не следует уведомление об обновлении в Visual Studio 2015!!!

  • 1
    меня устраивает (:
2

Я получал исключение каждый раз, когда пытался создать "новый" проект.

Мое решение было:

  • Откройте меню Инструменты → Расширения и обновления

  • Проверьте ссылку "Обновления"... Появилось обновление для Microsoft ASP.NET и веб-инструментов. Установите его.

Это исправило это для меня.

  • 0
    К вашему сведению: у меня были разные ожидающие обновления; но аналогичным образом, установка тех, кто решил проблему.
2

В моем случае (не обязательно для вас, но может быть полезно для кого-то), решение было:

  1. Перейти в меню Инструменты → Расширения и обновления

  2. Выберите вкладку Online на правой панели

  3. Найдите слова web tools, а затем выберите Microsoft ASP.NET and Web Tools и установите их.

В моем случае это отсутствовало на моем компьютере из-за большого количества операций по восстановлению Visual Studio.

1

Попробовав верхний ответ, я обнаружил, что вы также должны перезагрузить компьютер. Ошибка может быть частью проблемы git, когда перезагрузка компьютера будет сброшена.

1

Я получал это исключение каждый раз, когда я создавал "новый" проект.

Мое решение было:

  • Перейдите в меню "Инструменты"? Расширения и обновления
  • Не проверять ссылку "Обновления"... искать "asp.net". Это был обновление до Microsoft ASP.NET и веб-инструментов. Получите это как AspNetWebFrameworksTools2015_KB3137909.exe и установите его.

Это исправило это для меня.


К сожалению, я столкнулся с другим исключением:

"Исключение выбрано целью вызова"

Я отключил параметр FIPS Enabled DWORD до нуля.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy]
Enabled=dword:00000000 And All fixed.
0

Перейдите в windows + R, введите% temp% и нажмите ввод. удалите временную папку и файлы, а затем попробуйте открыть ту же

0

Удалите папки bin и obj во всех проектах этого решения.

Похоже, в этих папках были старые файлы, сгенерированные какой-то более старой версией Visual Studio, которые несовместимы с новой версией Visual Studio.

0

Проблема: Мой VS 2015 выдает ошибку после того, как я установил SSDT. Всякий раз, когда я нажимал на Инструменты >> Расширения и обновления, он выдавал ошибку "Ссылка на объект не установлена на экземпляр объекта". Когда я пытался открыть решение, он бросил какой-то провайдер, который не был установлен правильно.

Решение: После многих часов исследований, опробовавших все ранее упомянутые решения, моя проблема не решилась. Каждый раз, когда всплывающее сообщение об ошибке указывало, чтобы проверить ActivityLog.xml. Но я игнорировал это. После нескольких часов разочарования я решил внимательно прочитать ошибку, заглянул в ActivitLog.xml и обнаружил, что он ищет "Не удалось загрузить файл или сборку" System.Collections.Immutable, Version = 1.1.37.0 ". Поэтому я просто начал искать эту сборку и наткнулся на эту ссылку https://sergeytihon.com/2015/12/01/how-to-restore-viual-studio-2015-after-update-1-dependency-dance/ и следовал за шагами там, которые исправили мою проблему.

Зайдите в% LOCALAPPDATA%/Local\Microsoft\VisualStudio\14.0\devenv.exe.config, найдите "System.Collections.Immutable" и измените новую версию с 1.1.36.0 на 1.1.37.0.

Конечный конфиг должен выглядеть так

<dependentAssembly>
 <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
 <bindingRedirect oldVersion="1.0.27.0-1.1.65535.65535" newVersion="1.1.37.0"/>
</dependentAssembly>
  • 1
    @Rob Отредактировал мой ответ
0

Перезапуск Visual Studio сделал это для меня. В следующем прогоне он отобразил "Сканирование новых и обновленных компонентов MEF...", а затем он выполнялся нормально.

Кажется, что-то похоже на обновление Windows, хотя у меня нет доказательств.

0

При попытке сохранить форму Windows Forms у меня была ошибка "Ссылка на объект не установлена". Простым решением для меня было закрыть конструктор для формы, снова открыть конструктор и нажать "Сохранить".

0

Я боролся с этим в течение всех выходных. Но это довольно легко сделать. То, что я сделал, это щелкнуть по ремонту, а не удалять. После ремонта я сразу нажал на перезагрузку. После этого все работает отлично. Вы должны попробовать это, возможно, он может работать и для вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню