Co to jest „Oczekiwanie na operację w tle” w programie Visual Studio 2012?


96

Sporadycznie, ale dość często, bez wyraźnego powodu, VS 2012 zamyka się z komunikatem „Oczekiwanie na zakończenie operacji w tle”. Np. Może się to zdarzyć podczas zwykłej edycji starego kodu, a nie przy jawnym wywołaniu jakiegokolwiek polecenia IDE.

Co to powoduje i czy mogę coś z tym zrobić?

Używam ReSharper 7 i nie jestem jedyną osobą, której tego doświadczam.


4
To jest trochę lewe pole, więc zrobię komentarz zamiast odpowiedzi - ale jeśli otrzymam to jest to normalne, ponieważ mam otwarte okno RDC na inny komputer i ostatnio umieściłem coś w tym oknie RDC w schowku (za pomocą copy / cut), czasami okaże się, że obecnie próbuje on przenieść go na moją maszynę lokalną ... i dlatego mój VS czeka na zakończenie. Zamknięcie RDC normalnie je
— rozwiązuje

2
Dzięki @freefaller, ale nigdy nie mam aktywnych połączeń zdalnych.
— ProfK

3
Dokładny problem! To naprawdę bardzo irytujące ... czy mógłbyś znaleźć źródło problemu? (PS Nie mam ReSharpera)
— Mahmoud Moravej

1
Mam również problem w VS2010, więc nie jest to problem z Vs2012. U mnie dzieje się tak, gdy otwieram rozwiązanie, które ma otwartych wiele plików źródłowych. Po zabiciu VS za pomocą ProcExp, VS nie otwiera wszystkich plików i problem zniknął.
— magicandre1981

7
Są chwile, kiedy chciałbym po prostu udać się do najbliższego biura Microsoft i zrobić na nich masakrę w Teksasie w tym celu. Spokojnie piszę kod, myśli krążą w mojej głowie, gdy BAM! uderzenie w twarz "operacje w tle, duh".
— Filip Vondrášek

Odpowiedzi:


62

Miałem ten sam problem, szczególnie na stronach cshtml. Znalazłem tę stronę: https://devblogs.microsoft.com/aspnet/visual-studio-11-beta-razor-editor-issue-workaround, która sugeruje zmianę opcji wcięcia w menu Narzędzia> Opcje> Edytor tekstu> HTML> Tab na Inteligentny zamiast blokowania . W moim przypadku był już ustawiony na Smart i zmiana z powrotem na Block rozwiązała problem.

Aktualizacja: Myliłem się, to nie naprawiło dialogu, po prostu opóźniło go do czasu skopiowania lub wklejenia. W końcu zadziałało dla mnie przejście do Narzędzia> Ustawienia importu i eksportu ...> Zresetuj wszystkie ustawienia .

Ewentualnie powiązane pytanie: Visual Studios 2010 - Asp.net MVC 4 Beta - duże opóźnienia w wklejaniu i częste awarie


26
Głosowałem za i zamierzam komentować. Aktualizacja w tej odpowiedzi rozwiązała problem kopiowania / wklejania w VS2012 - problem, z którym borykałem się przez ponad dwa tygodnie, próbując rozwiązać. Zauważ, że wybrałem opcję „Tworzenie stron internetowych (tylko kod)” w ostatniej części kreatora resetowania wszystkich ustawień. PROSZĘ GŁOSOWAĆ, ABY TA ODPOWIEDŹ WYGLĄDAŁA LEPIEJ W WYSZUKIWANIU.
— REMESQ

2
To, co powiedział Remesq, zadziałało dla mnie. To natychmiast rozwiązało problem. Dzięki.
— draconis

1
+1 Dla mnie nie mogłem wkleić do plików „aspx” bez pojawienia się komunikatu „Oczekiwanie na tło ...”. Przechodząc do Narzędzia> Ustawienia importu i eksportu> Zresetuj wszystkie ustawienia i wreszcie wybierając Tworzenie stron internetowych, gdy zapytano, którą kolekcję zresetować, naprawiłem to za mnie. Dziękuję Ci.
— Anthony Walsh

Resetowanie wszystkich ustawień działa przez chwilę, ale od czasu do czasu wciąż mam to denerwujące okno modalne !!!!
— coffekid

2
+1 Z Resharper 7 przełączając Narzędzia> Opcje> Edytor tekstu> Ustawienie HTML, aby blokować ze
— ``

32

Jest to bardzo ogólna diagnostyka. Jest wyzwalany przez COM, który jest intensywnie używany w programie Visual Studio w celu zaimplementowania rozszerzalności. Podstawowym wyzwalaczem jest interfejs IMessageFilter. Wyzwalacz występuje, gdy COM organizuje wywołanie metody do innego wątku, a to wywołanie nie kończy się przez 60 sekund.

Faktyczne powiadomienie ma niewielką wartość, mówi o czymś, co już wiesz. Po upływie 60 sekund zazwyczaj zauważyłeś, że coś nie działa dobrze. Krótko mówiąc, po odrobinie przydatnej wiedzy, że Visual Studio w rzeczywistości nie jest całkowicie martwy. Jednak połączenie musi zostać zakończone, zanim VS znów stanie się użyteczny. Niewiele możesz zrobić, ale stuknij stopą i czekaj.

Ten problem jest prawie zawsze powodowany przez dodatek. Resharper jest z pewnością dobrym kandydatem. Możesz znaleźć problem, wyłączając dodatki jeden po drugim, aż problem zniknie. Jest to rodzaj problemu, który jest powszechny w nowych wersjach programu Visual Studio. Dostawcy dodatków potrzebują trochę czasu, aby usunąć błędy i zawieszenia. Skontaktuj się ze sprzedawcą, aby uzyskać pomoc i ogólnie poszukaj aktualizacji, które mogą rozwiązać problem.


7

Usunięcie pliku „suo” Solutions działało u mnie.


1
Dotarłem do tego stanu po wielokrotnym przełączaniu się między gałęziami w git. Usunięcie pliku .suo dla projektu zrobiło to również dla mnie
— agarcian

6

Miałem ten sam problem iw moim przypadku był to DevExpress.

Wydawało się, że program Visual Studio zawiesił się za każdym razem, gdy wykonywałem operację kopiowania lub wycinania, wywołując komunikat:

„Oczekiwanie na zakończenie operacji w tle”.

Okazuje się, że faktycznie wykonywał jednorazowe zadanie w tle i naprawdę zajmowało to trochę czasu (ponad 5 minut).

Być może gdybym czekał normalnie, mógłby zniknąć, ale ostatecznie naprawiłem to, aby wyświetlić Zestaw narzędzi (został ukryty / zwinięty), co z kolei spowodowało wyświetlenie okna z napisem:

„dodanie [SomeDevExpressAssemblyNameHere] .dll”

ten aktualizował się o nazwę każdej biblioteki DLL wymaganej przez DevExpress do zapełnienia paska narzędzi.

W ten sposób mogłem zobaczyć postęp operacji, a po jej zakończeniu mogłem jak zwykle ponownie użyć kopiuj / wytnij wklej.

Mam nadzieję że to pomoże.


Zdarzyło mi się to po zainstalowaniu nowej wersji CodeRush, a następnie odinstalowaniu starej. Po prostu czekając (dłuuugi) czas VS.Net po prostu zakończył to, co robił.
— CodingBarfield

Grrrrr - to też był mój problem, moja skrzynka narzędziowa była ukryta, więc nie mogłem zobaczyć, co się dzieje.
— Fergal Moran,

Inny użytkownik DevExpress tutaj, uważam, że robi to po każdej aktualizacji DevExpress. Trwa około 5 minut, a następnie zostaje naprawiony na stałe.
— KingCronus,

5

Dla mnie poprawką była aktualizacja programu Web Essentials 2012 do wersji 1.8.

Problematyczna wersja to 1.6


Próbuję wyłączyć WebEssentials, ale problem nadal występuje. Po Unistalled problem został rozwiązany.
— Riccardo Bassilichi

5

Narzędzia> Opcje> Edytor tekstu> HTML> Karty -> Identyfikacja -> Brak ustawień rozwiązało ten problem za mnie.


1
Zmiana na „blokuj” również rozwiązuje problem.
— Jenny O'Reilly,

3

To naprawiło to dla mnie:

Narzędzia> Opcje> Edytor tekstu> HTML> Różne

Odznacz opcję „Automatyczne identyfikowanie elementów przy wklejaniu w widoku źródła”

Napiszę aktualizację, jeśli problem wróci.


2

Miałem ten problem przez kilka dni, próbowałem odinstalować i ponownie zainstalować mój program Visual Studio 2012 Ultimate Edition z dodatkiem SP3 ... Nadal nie działa. Więc usunąłem wszystkie moje rozszerzenia (narzędzia git dla VS 2012 i narzędzie do pobierania pakietów Nuget), zrestartowałem VS i znów działało jak urok! Mam nadzieję, że to działa!

Powodzenia!


1

Doświadczyłem tego problemu podczas uruchamiania Visual Studio na maszynie wirtualnej - Virtual Box 4.2 działającej na Mac OS X Mountain Lion, hostującej nową instalację Windows 7 z zainstalowanym tylko Visual Studio. Odkryłem, że problem był spowodowany przez 2 oddzielne problemy.

Po pierwsze, mój projekt znajdował się w folderze udostępnionym z systemu operacyjnego hosta. Innymi słowy, na Windows Guest mój projekt pojawił się na dysku sieciowym. Tak więc otwarcie projektu w programie Visual Studio z dysku sieciowego wydawało się powodować ten problem, ponieważ problem zniknął, gdy skopiowałem projekt na dysk C maszyny wirtualnej z systemem Windows i otworzyłem go w programie Visual Studio z kopii na dysku C.

Po drugie, ponownie zacząłem doświadczać problemu, gdy dysk twardy maszyny wirtualnej był pełny. Na twardym dysku miałem około 1 GB wolnego miejsca. Kiedy zwiększyłem rozmiar dysku twardego na maszynie wirtualnej, ten problem zniknął.


1

Właśnie odtworzyłem podobny problem z dodatkiem Codemaid. Znaleziono tę rozmowę :

W tym problemie jest wiele szczegółów, ale aby spróbować podsumować, problem polega na tym, że API VS2012 C ++ wprowadziło problem z zakleszczeniem, gdy dostęp do API jest uzyskiwany z wątku interfejsu użytkownika (np. Kontekst WPF, taki jak Spade). To nie był problem w VS2010, a Microsoft naprawił go w VS2013, ale nie będzie go łatał dla VS2012.

Wygląda na to, że powinna pojawić się poprawka (dotycząca Codemaid):

Prosimy o śledzenie tego wątku w celu dalszego rozwiązywania problemu. Wiąże się z tym większym przepisaniem, więc budowałem w tym kierunku, dodając najpierw wiele testów jednostkowych, aby zapewnić spójność funkcjonalności po zmianach.


1
Naprawiono to teraz (wersja 0.7.0). To była przyczyna mojej wersji, więc dzięki!
— dlanod

1

Wydawało mi się, że jest to związane ze składnią maszynki do golenia, ponieważ miałem ją tylko w jednym konkretnym pliku.

Na przykład, jeśli umieściłem następujący kod w jednej linii, miałem opisany problem.

@section BodyClassName {uwaga}

Jednak po umieszczeniu nawiasu zamykającego w następnym wierszu problem zniknął

@section BodyClassName {note
}

Z poważaniem

Stijn


1

Daleko od idealnego rozwiązania, ale proszę spróbować uruchomić Visual Studio w trybie administratora. Wypróbowałem praktycznie wszystko i to była jedyna rzecz, która działała dla mnie


1

Otwórz Visual Studio, utwórz nową aplikację MVC, zamknij nową aplikację, otwórz starą aplikację i działa!


Ten sam problem, co OP, pojawił się niespodziewanie. VS2013 w projekcie WebForms. Twoja procedura rozwiązała problem.
— Secretwep

1

Sprawdź, czy IIS lub inny proces (być może BizTalk) blokuje twoje biblioteki DLL / odwołania
Zabij / zatrzymaj IIS lub inny proces, jeśli tak jest



0

Myślę, że znalazłem wskazówkę! Wszystko kończy się na dcomcnfg.exe!

Otwórz go i przejdź pod następującą ścieżką:

Usługi składowe> komputery> mój komputer> konfiguracja dcom

po kliknięciu na dcom zobaczysz wiele ostrzeżeń zależnych od ilości komponentów na twoim komputerze.

Kliknij tak w każdym oknie komunikatu, aby dodać poprawny rekord dla dcom.


1
Jak zawęziłeś to do DCOM? Z jakiego systemu operacyjnego korzystasz? Nie widzę żadnych ostrzeżeń na moim pudełku z Win 7 x64.
— Mrchief

0

Odkryłem, że VS ładuje również pakiety podczas „operacji w tle”. Możesz usunąć niepotrzebne rozszerzenia, aby przyspieszyć operację.


0

Naprawiłem to kilka tygodni temu po wyłączeniu TeamViewer 8 Clipboard Sync! teraz pojawia się z powrotem bez powodu, więc próbowałem zresetować wszystkie ustawienia i zadziałało.



0

Dla mnie był to dodatek Resharper otwierający okno dialogowe, które się nie pokazało. Znalazłem tylko ikonę okna dialogowego w menu ukrytych ikon na pasku zadań. Kiedy pozbyłem się okna dialogowego, program Visual Studio natychmiast wrócił do normy.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.