Błąd programu Visual Studio „Odwołanie do obiektu nie jest ustawione na wystąpienie obiektu” po zainstalowaniu narzędzi ASP.NET i Web Tools 2015

125

Po zainstalowaniu ASP.NET i Web Tools 2015 (RC1 update 1) podczas otwierania *.cshtmlplików pojawia się następujący błąd w projektach ASP.NET MVC 4 :

Odwołanie do obiektu nie jest ustawione na wystąpienie obiektu

Tutaj wprowadź opis obrazu

Otrzymuję ten sam komunikat o błędzie, nawet jeśli uruchamiam nowy projekt ASP.NET MVC 4 i próbuję tam otworzyć *.cshtmlplik.

Używam programu Visual Studio 2015

Carsten Cors
źródło
1
Czy próbowałeś naprawić program Visual Studio?
Silvermind
jeszcze nie ale prowadzę tylko naprawę. Zobaczmy, co to przyniesie
Carsten Cors
czasami wystarczy zrestartować VS :).
Kien Chu
1
@fiorebat Kiedy RC2 nie miałem opisanego tutaj problemu.
Carsten Cors
Zamknięcie VS, a następnie wykonanie kroku 1.1 i ponowne uruchomienie rozwiązało problem. Kiedy pierwszy raz otworzyłem projekt testowy, otrzymałem kilka błędów związanych z ustawieniami, ale się otworzyło. Dzięki.
NetHawk

Odpowiedzi:

196

Może to pomoże:

  1. Usuń zawartość z następujących folderów:
    1. C: \ Users \% userprofile% \ AppData \ Local \ Microsoft \ VisualStudio
    2. C: \ Users \% userprofile% \ AppData \ Local \ Microsoft \ VSCommon
  2. Czasami musisz udać się do:
    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

i biegnij devenv /resetuserdata.

Spodziewaj się, że wszystkie ustawienia użytkownika, takie jak układ Visual Studio, połączone konto Microsoft lub strona startowa, mogą zniknąć.

Fka
źródło
6
Pracował !! Jednak właśnie zmieniłem nazwę katalogów Visualstudio i VSCommon na VisualStudio_old i VSCommon_old. Nie ma potrzeby uruchamiania "devenv / resetuserdata"
Ray
1
@DamianKobak - tak, często pomaga, ale tylko do konkretnego rozwiązania. Gdy coś idzie nie tak na każdym etapie projektu, odpowiedź jest bardziej odpowiednia.
Fka
90
W rzeczywistości wystarczy usunąć folder ComponentModelCache ze ścieżki C: \ Users \ {użytkownik} \ AppData \ Local \ Microsoft \ VisualStudio \ {wersja - 14 lub 12}. Możesz zatrzymać resztę i żadne ustawienia nie zostaną utracone ...
Tom Burger
1
Dotyczy to wszystkich VS, ponieważ różnią się one tylko \Microsoft Visual Studio <THIS NUMBER>\Common7\IDE.
Fka
3
Upewnij się, że EKSPORTUJESZ SWOJE USTAWIENIA, ponieważ spowoduje to ich usunięcie i będziesz musiał je później zaimportować.To właśnie naprawiło podobny błąd w VS2017, który pojawił się po dodaniu obsługi C ++ przez instalator. Zauważ, że usunięcie ComponentModelCache nie pomogło.
Rimmel
66

Usuń %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCachei uruchom ponownie program Visual Studio.

Alternatywnie użyj rozszerzenia Clear MEF Component Cache .

Edward Brey
źródło
15

Dla mnie,

  1. I zakończył się proces w Menedżerze zadań Windows: VsHub.exe.
  2. Uruchomiono ponownie program Visual Studio.

Potem wszystko znów działa jak urok!

Hao
źródło
Głosowałem za twoją odpowiedzią, ponieważ rozwiązuje ona problem „Object Null Reference”, ale potem dostałem nowy wyjątek w programie Visual StudioThe operation is not completed, invalid pointer
Hakan Fıstık
7

Rozwiązałem to robiąc

run devenv /resetuserdata

na tej ścieżce:

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

Zakładam, że w x86 działa w tej ścieżce:

[x86] C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE
José Alfredo Guerra Gómez
źródło
1
Ten działa dla mnie, ale niestety resetuje wiele rzeczy, w tym Re # :(
Cătălin Rădoi
Po prostu spróbowałem i zadziałało. co z tym sprawia, że ​​to działa?
tylerlindell
5

Zaleca się wypróbowanie jednego lub wszystkich z poniższych:

  • Uruchom ponownie program Visual Studio

  • Spróbuj Uruchomić jako administrator (kliknij prawym przyciskiem myszy Visual Studio i wybierz „Uruchom jako administrator”)

  • Sprawdź, czy są dostępne aktualizacje programu Visual Studio (pobierz i zainstaluj je, jeśli są dostępne)

  • Spróbuj otworzyć inne rozwiązanie / projekt

Jeśli problem nie ustąpi, możesz wypróbować następujące opcje:

  • Uruchom ponownie komputer lokalny

  • Spróbuj zresetować program Visual Studio do ustawień domyślnych systemu (można to zrobić za pomocą opcji w programie Visual Studio)

  • Spróbuj naprawić instalację programu Visual Studio

coder771
źródło
3

W nadziei, że może to zawęzić sprawy / pomóc komuś, zastosowałem podejście dochodzeniowe. W moim przypadku początkowo przeniosłem folder w C: \ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio do Moje dokumenty i pozwoliłem programowi Visual Studio na odtworzenie go przez ponowne uruchomienie. To usunęło błędy. Więc cofałem wszystko jeden po drugim i za każdym razem ponownie uruchamiałem Visual Studio, aż odkryłem winowajców. Te foldery można było przenieść z powrotem:

  • 1033 (nadpisano automatycznie wygenerowaną kopię starą)
  • Projektant (był w mojej starej kopii, nie został pierwotnie utworzony ponownie po ponownym uruchomieniu VS, skopiowałem go z powrotem)
  • Rozszerzenia (nadpisano automatycznie wygenerowaną kopię starą)
  • ImageLibrary (nadpisano automatycznie wygenerowaną kopię starą)
  • Powiadomienia (nadpisano automatycznie wygenerowaną kopię starą)
  • STemplate (znajdował się w mojej starej kopii, nie został pierwotnie utworzony ponownie po ponownym uruchomieniu VS, skopiowałem go z powrotem)
  • VTC (był w mojej starej kopii, nie został pierwotnie utworzony ponownie po ponownym uruchomieniu VS, skopiowałem go z powrotem)

Te pliki można było przenieść z powrotem / nadpisać automatycznie wygenerowane:

  • ApplicationPrivateSettings (był w mojej starej kopii, nie został pierwotnie utworzony ponownie po ponownym uruchomieniu VS)
  • ApplicationPrivateSettings.lock (nadpisano automatycznie wygenerowaną kopię starą)
  • vspdmc.lock (nadpisano automatycznie wygenerowaną kopię starą)

Te pliki można było przenieść z powrotem. Każdy z nich znajdował się w mojej starej kopii i nie został utworzony ponownie po ponownym uruchomieniu 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

To spowodowało problemy - usuń te pliki i uruchom ponownie VS, aby umożliwić ich ponowne utworzenie:

  • ComponentModelCache - kiedy nadpisałem zawartość tego folderu moimi starymi (4 pliki: MS.VS.Default.cache, .catalogs, .err, .external), dostałem wszystkie błędy, które otrzymałem wcześniej, dotyczące niemożności ładowanie pakietów podczas ładowania mojego projektu i błąd „odwołanie do obiektu nie jest ustawione na wystąpienie obiektu” podczas próby zamknięcia VS.
  • devenv.exe.config - to samo co ComponentModelCache
  • .NETFramework, Version = v4.0, Set = Extensions, Hash = 6D09DECC.dat - powoduje błąd wyjścia z usługi JavaScript Language Service, narzekając na brakujące pliki js
  • .NETFramework, Version = v4.0, Set = Extensions, Hash = 9951BC03.dat - powoduje błąd wyjścia z usługi JavaScript Language Service, narzekając na brakujące pliki js
  • .NETFramework, Version = v4.5.2, Set = RecentAssemblies, Hash = 0.dat - powoduje błąd wyjścia z usługi JavaScript Language Service, narzekając na brakujące pliki js

Oto błędy z tych ostatnich plików .NETFramework (których nie dostaję, jeśli nie dodam ich ponownie):

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.

Być może będę musiał ponownie zainstalować / naprawić wtyczkę JavaScript Language Service, więc może nie być powiązana. Ale zdecydowanie devenv.exe.config i ComponentModelCache muszą przejść, aby poprawić błąd „odwołanie do obiektu nie jest ustawione na wystąpienie obiektu”.

vapcguy
źródło
1
Miałem problem podczas kopiowania i wklejania w Visual Studio 2013, usunięcie folderu ComponentModelCache zadziałało.
Edward Comeau
3

Dla mnie ASP.NET 5 nie jest jeszcze wymagany, usunąłem aktualizację, a następnie ponownie zainstalowałem ASP.NET 4.5. To trochę trudne:

  1. Usunięto z panelu sterowania „Microsoft ASP.NET 5 RC1 Update1”. Następnie nie będziesz już otwierać projektów ASP.NET MVC
  2. Następnie zmieniłem instalację „Microsoft Visual Studio Professional 2015”, kliknąłem „Modyfikuj” i wybrałem „Microsoft Web Developer Tools”

Nie śledź już powiadomienia o aktualizacji w programie Visual Studio 2015 !!!

fiorebat
źródło
3

Po wypróbowaniu najlepszej odpowiedzi stwierdziłem, że musisz również ponownie uruchomić komputer. Błąd może być również częścią problemu z git, który powoduje zresetowanie ponownego uruchomienia komputera.

Brett Parsons
źródło
2

Za każdym razem, gdy próbowałem stworzyć „nowy” projekt, dostawałem wyjątek.

Moje rozwiązanie brzmiało:

  1. Idź menu NarzędziaRozszerzenia i aktualizacje

  2. Sprawdź łącze „Aktualizacje” ... Wystąpiła aktualizacja programu Microsoft ASP.NET i narzędzi internetowych. Zainstaluj to.

To naprawiło to dla mnie.

moe
źródło
FYI: Miałem różne oczekujące aktualizacje; ale podobnie, ich zainstalowanie rozwiązało problem.
JohnLBevan
2

W moim przypadku (niekoniecznie rozwiązanie dla Ciebie, ale może komuś pomóc) rozwiązanie brzmiało:

  1. Idź menu NarzędziaRozszerzenia i aktualizacje

  2. Wybierz Onlinezakładkę z prawego panelu

  3. Wyszukaj słowa web tools, a następnie wybierz Microsoft ASP.NET and Web Toolsi zainstaluj.

W moim przypadku tego brakowało na moim komputerze z powodu wielu operacji naprawczych w programie Visual Studio.

Hakan Fıstık
źródło
1

Dostawałem ten wyjątek za każdym razem, gdy tworzyłem „nowy” projekt.

Moje rozwiązanie brzmiało:

  • Idź menu Narzędzia ? Rozszerzenia i aktualizacje
  • Nie sprawdzaj łącza „Aktualizacje” ... wyszukaj „asp.net”. Aktualizacja oprogramowania Microsoft ASP.NET i narzędzi internetowych. Pobierz jako AspNetWebFrameworksTools2015_KB3137909.exe i zainstaluj.

To naprawiło to dla mnie.


Niestety trafiłem na inny wyjątek:

„Cel wywołania zgłosił wyjątek”

Wyłączyłem FIPSustawienie Enabled DWORDna zero.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy]
Enabled=dword:00000000 And All fixed.
orign
źródło
1

Idź do Windows + R i wpisz% temp% i naciśnij Enter. usuń folder tymczasowy i pliki, a następnie spróbuj otworzyć to samo

Muhammed
źródło
0

Walczyłem z tym przez cały weekend. Ale to całkiem proste. To, co zrobiłem, to kliknięcie naprawy zamiast odinstalowania. Po naprawie kliknąłem bezpośrednio restart. Potem wszystko działa idealnie. Powinieneś tego spróbować, może to zadziała również dla Ciebie !!!

nshuti88
źródło
0

Ponowne uruchomienie programu Visual Studio zrobiło to za mnie. Przy następnym uruchomieniu wyświetlił komunikat „Skanowanie nowych i zaktualizowanych składników MEF ...”, a następnie został wykonany normalnie.

Wydaje się, że jest to w jakiś sposób związane z aktualizacją systemu Windows, chociaż nie mam na to dowodów.

Cristian Amarie
źródło
0

Usuń foldery bin i obj we wszystkich projektach tego rozwiązania.

Wygląda na to, że te foldery zawierały stare pliki wygenerowane przez starszą wersję programu Visual Studio, które nie są zgodne z nową wersją programu Visual Studio.

Jay Shah
źródło
0

Rozwiązaniem problemu, który miałem dzisiaj, było to, że na końcu mojego pliku Web.config był dodatkowy zestaw tagów. Po usunięciu funkcjonalność wróciła.

Icementhols
źródło
0

Otrzymałem podobny błąd w VS2017 podczas próby opublikowania mojego rozwiązania na platformie Azure.

Ten algorytm pomógł mi rozwiązać ten problem:

  1. Zamknij VS2017
  2. Otwórz folder C: \ Users {Twoja nazwa użytkownika} \ AppData \ Local \ Microsoft \ VisualStudio \
  3. Zmień nazwę folderu 15.0_08edcd83
  4. Uruchom VS
  5. Publikowanie działa dobrze!

Zwróć uwagę, że spowoduje to usunięcie ostatnich plików / projektów programu Visual Studio z historii, a także połączenie z kontem MS.

Ta metoda różni się nieco od najlepszej odpowiedzi. Tutaj nie musisz usuwać innych folderów, z wyjątkiem zmiany nazwy wyżej wymienionego.

greenwd
źródło
-1

Problem: Mój VS 2015 wyświetlał błąd po zainstalowaniu SSDT. Za każdym razem, gdy klikałem Narzędzia >> Rozszerzenia i Aktualizuj, wyświetlało się błąd „Odniesienie do obiektu nie jest ustawione na wystąpienie obiektu”. Kiedy próbowałem otworzyć rozwiązanie, wyrzuciło dostawcę, który nie został poprawnie ustawiony.

Rozwiązanie: Po wielu godzinach poszukiwań wypróbowanie wszystkich wspomnianych wcześniej rozwiązań nie rozwiązało mojego problemu. Za każdym razem, gdy wyskakujące okienko wskazywało na sprawdzenie pliku ActivityLog.xml. Ale ja to ignorowałem. Po wielu godzinach frustracji postanowiłem uważnie przeczytać błąd i przejrzałem plik ActivitLog.xml i stwierdziłem, że szukał informacji „Nie można załadować pliku lub zestawu 'System.Collections.Immutable, Version = 1.1.37.0" . Więc właśnie zacząłem szukać tego zestawu i natknąłem się na ten link https://sergeytihon.com/2015/12/01/how-to-restore-viual-studio-2015-after-update-1-dependency-dance/ i wykonałem podane tam kroki, które rozwiązały mój problem.

Poszedłem do% LOCALAPPDATA% / Local \ Microsoft \ VisualStudio \ 14.0 \ devenv.exe.config i wyszukałem „System.Collections.Immutable” i zmień nową wersję z 1.1.36.0 na 1.1.37.0

Ostateczna konfiguracja powinna wyglądać tak

<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>
Józef Abraham
źródło