Помилка Visual Studio "Посилання на об'єкт не встановлено для екземпляра об'єкта" після встановлення ASP.NET та Web Tools 2015


125

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

Посилання на об'єкт не встановлено на примірник об'єкта

Введіть тут опис зображення

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

Я використовую Visual Studio 2015


1
Ви намагалися ремонтувати Visual Studio?
Silvermind

ще немає, але я запускаю просто ремонт. Подивимося, що це приносить
Карстен Корс

іноді, що вам потрібно зробити, це просто перезапустити VS :).
Кіен Чу

1
@fiorebat Коли RC2 у мене не було описаної проблеми.
Карстен Корс

Закривши VS, потім виконавши крок 1.1 та перезапустивши, це усунуло проблему для мене. Коли я спочатку відкрив свій тестовий проект, у мене з’явилася купа помилок, пов’язаних із налаштуваннями, але він відкрився. Дякую.
NetHawk

Відповіді:


196

Можливо, це допомагає:

  1. Видаліть вміст із таких папок:
    1. C: \ Користувачі \% userprofile% \ AppData \ Local \ Microsoft \ VisualStudio
    2. C: \ Користувачі \% userprofile% \ AppData \ Local \ Microsoft \ VSCommon
  2. Іноді вам потрібно перейти до:
    1. [x64] C: \ Файли програм (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE
    2. [x86] C: \ Файли програм \ Microsoft Visual Studio 14.0 \ Common7 \ IDE

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

Очікуємо, що всі ваші налаштування користувача, такі як макет Visual Studio, пов'язаний обліковий запис Microsoft або початкова сторінка, можуть зникнути.


6
Працювали !! Однак я просто перейменував диски Visualstudio & VSCommon в VisualStudio_old & VSCommon_old. Не потрібно запускати "devenv / resetuserdata"
Ray

1
@DamianKobak - так, це часто допомагає, але лише для конкретного рішення. Коли все піде не так на кожному кроці проекту, відповідь краще підійде.
Фка

90
Насправді достатньо видалити папку ComponentModelCache на шляху C: \ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio \ {версія - 14 або 12}. Ви можете зберегти решту, і жодні налаштування не загубляться ...
Том Бургер,

1
Це стосується всіх VS, оскільки вони відрізняються лише в \Microsoft Visual Studio <THIS NUMBER>\Common7\IDE.
Fka

3
Переконайтесь, що ви експортуєте власні налаштування, оскільки це знищить їх, і вам доведеться імпортувати їх згодом. Це просто виправлено подібну помилку для мене в VS2017, що сталася після того, як я додав підтримку C ++ через інсталятор. Зауважте, що видалення ComponentModelCache не допомогло.
Риммель


15

Для мене,

  1. Я закінчив процес в диспетчері завдань Windows: VsHub.exe.
  2. Перевірена візуальна студія.

Після цього все знову працює як шарм!


Я підтримав вашу відповідь, оскільки це вирішує проблему "Об'єкт нульової посилання", але після цього я отримав новий виняток у Visual StudioThe operation is not completed, invalid pointer
Hakan Fıstık

7

Я вирішив це робити

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 # :(
Cătălin Rădoi

Я просто спробував це, і це спрацювало на мене. що з цього приводу змушує працювати?
tylerlindell

5

Рекомендується спробувати будь-яке або всі наступне:

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

  • Спробуйте Запуск із правами адміністратора (правою кнопкою миші Visual Studio і виберіть «Запуск від імені адміністратора»)

  • Перевірте наявність оновлень Visual Studio (завантажте та встановіть їх, якщо такі є)

  • Спробуйте відкрити інше рішення / проект

Якщо проблеми не зникають, ви можете спробувати наступні варіанти:

  • Перезавантажте локальну машину

  • Спроба скинути Visual Studio на системні параметри за замовчуванням (це можна зробити з параметрів у Visual Studio)

  • Спроба відновити установку Visual Studio


3

Сподіваючись, що це може звузити / допомогти комусь, я зробив слідчий підхід. Для мене я спочатку перемістив папку на C: \ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio у "Мої документи" і дозволив Visual Studio відновити її заново, запустивши її. Це видалило помилки. Тож я перемістив все назад, один за одним, і кожного разу перезапустив Visual Studio, поки не виявив винуватців. Ці папки було чудово переміщено назад:

  • 1033 (перезаписати автоматично створену копію зі старою)
  • Дизайнер (був у моїй старій копії, спочатку не був створений, коли я знову запустив VS, скопіював його назад)
  • Розширення (вимикає автоматично створену копію зі старою)
  • ImageLibrary (перезаписує автоматично створену копію зі старою)
  • Сповіщення (перезапис автоматично створеної копії зі старою)
  • Шаблон (був у моїй старій копії, спочатку не створювався повторно, коли я знову запустив VS, скопіював його назад)
  • VTC (був у моїй старій копії, спочатку не був створений, коли я знову запустив VS, скопіював його назад)

Ці файли було чудово, щоб повернути / замінити автоматично створені файли:

  • ApplicationPrivateSettings (був у моїй старій копії, спочатку не створювався заново при повторному запуску VS)
  • ApplicationPrivateSettings.lock (вимикає автоматично створену копію зі старої)
  • vspdmc.lock (вимикає автоматично створену копію зі старою)

Ці файли було чудово повернути назад. Кожен був у моїй старій копії, а спочатку не створювався заново, коли я перезапускав VS:

  • .NETFramework, Версія = v4.0, Set = Framework, Hash = C958D412.dat
  • .NETFramework, Version = v4.0, Set = RecentAssemblies, Hash = 0.dat
  • .NETFramework, версія = v4.5, встановити = розширення, хеш = 75EAE334.dat
  • .NETFramework, версія = v4.5, встановити = розширення, хеш = 497525A2.dat
  • .NETFramework, Версія = v4.5, Set = Framework, Hash = 5AE9A175.dat
  • .NETFramework, версія = v4.5.2, встановити = розширення, хеш = 24CEEB0D.dat
  • .NETFramework, версія = v4.5.2, встановити = розширення, хеш = 72AE305.dat
  • .NETFramework, версія = v4.5.2, встановити = розширення, хеш = ADF899D7.dat
  • .NETFramework, Версія = 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 = Розширення, Hash = 6D09DECC.dat - викликає виведення помилок з мовної служби JavaScript, скарга на відсутні файли js
  • .NETFramework, Version = v4.0, Set = Розширення, 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. Це трохи хитро:

  1. Видалено з панелі управління "Microsoft ASP.NET 5 RC1 Update1". Після цього ви більше не будете відкривати проекти ASP.NET MVC
  2. Потім я змінив установку "Microsoft Visual Studio Professional 2015", натиснув "Змінити" та вибрав "Інструменти для веб-розробників Microsoft"

Більше не слідкуйте за повідомленням про оновлення у Visual Studio 2015 !!!


3

Спробувавши головну відповідь, я виявив, що ви також повинні перезавантажити комп’ютер. Помилка може бути частиною проблеми git, а також при перезавантаженні комп'ютера.


2

Я отримував виняток щоразу, коли намагався створити «новий» проект.

Моє рішення було:

  1. Перейдіть у меню ІнструментиРозширення та оновлення

  2. Перевірте посилання "Оновлення" ... Було оновлено Microsoft ASP.NET та веб-інструменти. Встановіть його.

Це зафіксувало це для мене.


FYI: У мене були різні очікувані оновлення; але аналогічно встановлення цих проблем вирішило проблему.
JohnLBevan

2

У моєму випадку (не обов'язково для вас рішення, але це може бути корисно для когось), рішення було:

  1. Перейдіть у меню ІнструментиРозширення та оновлення

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

  3. Шукайте слова web tools, а потім виберіть Microsoft ASP.NET and Web Toolsі встановіть їх.

У моєму випадку цього не вистачало на моєму комп’ютері через багато операцій з ремонту Visual Studio.


1

Я отримував цей виняток щоразу, коли створював "новий" проект.

Моє рішення було:

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

Це зафіксувало це для мене.


На жаль, я зіткнувся з ще одним винятком:

"Виключення було викинуто ціллю виклику"

Я відключив значення FIPS"Увімкнено" DWORDдо нуля.

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

1

Перейдіть до вікна + R і введіть% temp% і натисніть клавішу Enter. видаліть папку temp і файли, а потім спробуйте відкрити те саме


0

Я боровся з цим цілі вихідні. Але зробити це досить просто. Що я зробив, це натиснути на ремонт, а не видалити. Після ремонту я натиснув на перезапуск безпосередньо. Після цього все працює чудово. Ви повинні спробувати це, можливо, це може працювати і для вас !!!


0

Перезапуск Visual Studio зробив це для мене. Під час наступного запуску на екрані з'явилося "Сканування нових та оновлених компонентів MEF ...", а потім воно виконується нормально.

Здається, якимось чином пов’язане з оновленням Windows, хоча я не маю доказів.


0

Видаліть папки bin та obj у всіх проектах цього рішення.

Схоже, що в цих папках були старі файли, згенеровані старою версією візуальної студії, які не сумісні з новою версією візуальної студії.


0

Вирішення питання, коли я мав це раніше, полягав у тому, що в кінці моєї Web.config був додатковий набір тегів, закреплених болтами. Після видалення функціональність повернулася.


0

Я отримував подібну помилку в VS2017 під час спроби опублікувати своє рішення для Azure.

Цей алгоритм допоміг мені вирішити:

  1. Закрити VS2017
  2. Відкрийте C: \ Users {ваше ім'я користувача} \ AppData \ Local \ Microsoft \ VisualStudio \ папка
  3. Перейменуйте папку 15.0_08edcd83
  4. Запуск VS
  5. Публікація працює чудово!

Зауважте, що це видалить останні файли / проекти вашої Visual Studio з історії, а також посилання на обліковий запис MS.

Цей спосіб дещо відрізняється від відповіді Топ. Тут не потрібно видаляти інші папки, крім перейменування вищезгаданої.


-1

Проблема: Мій 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.Imumutable" та змінив newVersion з 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>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.