Wyskakujące okienko Visual Studio: „nie można ukończyć operacji”

199

Kiedy próbuję otworzyć projekt lokalny lub na serwerze Team Foundation Server (TFS), pojawia się okno modalne z informacją, że:

Nie można ukończyć operacji: Nieokreślony błąd

Lub ten sam komunikat, ale z „Nieokreślona klasa ..” zamiast „Nieokreślony błąd”.

Te błędy zaczęły się dzisiaj dziać wcześniej, kiedy próbowałem sprawdzić część mojej pracy na serwerze fundacji zespołu. Próbowałem używać programu Visual Studio 2008 na tym samym komputerze, ale nadal pojawia się ten sam błąd. Poszukałem również go, ale żadne z rozwiązań nie wydaje mi się pomocne.

Zainstalowałem również najnowsze aktualizacje z Windows Update.

Jakieś pomysły?

nbon
źródło
1
Jeśli trafiasz w to, sprawdź również odpowiedzi tutaj: stackoverflow.com/questions/32180470/…
BlackICE
22
75% czasu, ponowne uruchomienie VS rozwiązuje ten problem.
Don Cheadle,
2019 i wciąż problem, teraz w VS2017. Żenujące
5226582
Rozładuj i przeładuj projekt działa dla mnie.
Zhang

Odpowiedzi:

238

Czy próbowałeś usunąćYour_Solution_FileName.suo plik?

.suoPlik powinien być w tym samym folderze co .slnplik, lub w .vsfolderze dla nowszych wersji programu Visual Studio. .vsFolderze mogą być ukryte.


Aktualizacja programu Visual Studio 2017
W VS 2017 .suopliki znajdują się w innym folderze: .suoplik można znaleźćYourSolutionFolder\.vs\YourSolutionName\v15\.suo

.vsFolder jest ukryty, a .suopliki to plik bez nazwy, tylko z .suorozszerzeniem.


 
Wyjaśnienie

.suoPlik zawiera różne informacje, takie jak listy otwieranych plików, a niektóre preferencje, które nie są zapisane w pliku rozwiązania (jak w projekcie wyjściowe) i innych rzeczy.

Zwykle .suoplik można usunąć bez problemów. Być może będziesz musiał StartUp Projectpóźniej ustawić dla swojego rozwiązania.

Aby zachować bezpieczeństwo, możesz zmienić nazwę .suopliku, a następnie ponowić próbę uruchomienia rozwiązania, aby sprawdzić, czy ta pomoc.

Z mojego doświadczenia wynika, że ​​czasami VS zawiesza się przy starcie, ponieważ występuje błąd w jakimś kodzie źródłowym, i z tego powodu VS nie może skompilować kodu, a następnie ulega awarii, ponieważ bez skompilowanego kodu nie może wyświetlić formy w trybie projektowania. W takim przypadku usunięcie .suopliku rozwiąże sytuację, ponieważ resetuje listę otwartych plików, dzięki czemu rozwiązanie można uruchomić bez otwierania / pokazywania żadnych plików.


Podczas usuwania pliku .suo nie działa
Oto lista innych rzeczy, które możesz wypróbować, gdy usunięcie .suopliku nie rozwiązuje problemu:

  • Zrestartuj komputer
  • Wyczyść folder temp systemu Windows
  • Wyczyść rozwiązanie z IDE (Menu \ Build \ Clean Solution)
  • Wyczyść rozwiązanie ręcznie (usuń skompilowaną bibliotekę DLL / EXE z /bin/folderu i opróżnij pliki tymczasowe utworzone przez VS podczas procesu kompilacji w /obj/folderze (każdy projekt, który tworzy rozwiązanie ma te foldery, więc wyczyść je wszystkie))
  • Spróbuj otworzyć każdy projekt, który tworzy rozwiązanie 1 na 1, i zbuduj go, aby zrozumieć, który konkretny projekt generuje problem
  • Dowiedz się, jaka jest zmiana / edycja / modyfikacja, która spowodowała błąd, i cofnij go (narzędzie kontroli źródła może pomóc ...)
  • Jeśli masz niestandardowe elementy sterujące: sprawdź kod w konstruktorze. VS IDE wywoła konstruktora niestandardowych kontrolek nawet w czasie projektowania i mogą się zdarzyć dziwne rzeczy (w czasie projektowania niektóre właściwości nie działają, łańcuch połączenia prawdopodobnie nie jest zapełniony ...)

W ostateczności ...

  • Spróbuj zainstalować dowolną aktualizację VS
  • Spróbuj wyłączyć rozszerzenia VS (jeśli zainstalowałeś ...)
  • Spróbuj zaktualizować dowolną zewnętrzną bibliotekę DLL / Control, do której odwołuje się twoje rozwiązanie
  • Spróbuj zaktualizować system Windows
Max
źródło
@sergiol. Czy próbowałeś wyłączyć dodatki programu Visual Studio, które mogłeś zainstalować? Czasami mogą rozbić IDE
Max
4
@sergiol Spróbuj usunąć wszystkie .suo. Usuwam .suo, które istnieją u góry folderu rozwiązania i nie działały. Następnie szukam jednego w ukrytym folderze „\ .vs \ ci-ucsp \ v14” i wreszcie działa.
Erick Asto Oblitas,
3
W Visual Studio 2015 rozwiązaniem było usunięcie plików .user, które są umieszczone obok pliku .xproj.
sixones
Usunięcie pliku .suo w folderze .vs nie działało. Ponadto nie miałem pliku .user do usunięcia.
Jorge Cabot,
1
Przybyłem tutaj widząc podobne problemy, żadne odpowiedzi tutaj nie działały. Właśnie odkryłem, że mój problem jest spowodowany faktem, że moje rozwiązanie jest na onedrive, Onedrive został zaktualizowany i ma nową funkcję zwaną plikami na żądanie. Ta funkcja powoduje podobne problemy, jak opisano tutaj. Więcej informacji można znaleźć tutaj. developercommunity.visualstudio.com/content/problem/134518/…
Leon Degeling
115

Czasami jest to tylko kwestia zamknięcia Visual Studio 2015, a następnie ponownego otwarcia.

Aktualizacja: Visual Studio 2017 najwyraźniej również.

Zdarzyło mi się to na kilku komputerach.

To się zdarza .

„Czy próbowałeś usunąć plik„ Your_Solution_FileName.suo ”?”

Także awarie komputerów, takie jak np. Awaria zasilania itp.

Dotyczy aktualizacji 2 i 3, a także świeżej bazy bez żadnych aktualizacji ...

Tom Stickel
źródło
3
To okropny irytujący błąd (ten, który rozwiązał ten problem), sposobem na wykrycie problemu bez faktycznej próby sprawdzenia jest to, że okno wyjściowe nie wyświetla się (brak okna wyjściowego = = zrestartuj VS, aby naprawić).
Thomas Andreè Wang
Nadal wolę vs 2013 dla niektórych rzeczy, takich jak Nuget i niektóre różne połączenia online TFS i różne obszary stabilności. Ogólnie rzecz biorąc vs 2015 jest fantastyczny, ale na pewno nie bez pewnych problemów.
Tom Stickel
Miałem inny problem z VS 2015 innego dnia, w którym nie mogłem załadować strony localhost. Skrzypek dzwonił do czegoś, czego wcześniej nie widziałem. Nie jestem pewien, dlaczego, ale ja i inny programista próbowaliśmy różnych rzeczy, zanim zdecydowałem się zamknąć VS 2015. Potem wszystko zadziałało przy ponownym otwarciu. Trochę denerwujące, ale w tym momencie nie
cofam
Miałem VS 2015 Update 2 na komputerze i nagle nie mogłem utworzyć NOWEJ aplikacji internetowej (aplikacje konsolowe itp.) Mogłem) Spędziłem zbyt dużo czasu próbując odkryć problem, skończyłem na naprawie poprzez uruchomienie Pakiet VS 2015 plus aktualizacja 2 ... bardzo denerwujący, ponieważ restart i inne rzeczy go nie naprawiły. - Jeszcze jedna kwestia, którą miałem, i pomyślałem, że dodam do komentarzy. (Zainstalowałem podgląd vs 15 na tym komputerze, więc zastanawiam się, czy ta instalacja spowodowała problem).
Tom Stickel,
73

VS 2015 -> Usuwanie wszystkich plików z ComponentModelCachepracował dla mnie:

C:\Users\**username**\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

Filtr Nielsa
źródło
2
Możesz również przejrzeć plik Microsoft.VisualStudio.Default.err w tym katalogu, aby ustalić, co może być przyczyną problemu.
Chris Lunt
1
@ChrisLunt Ta sugestia pokazała rozszerzenie, które zgłaszało błędy. Usunięcie właśnie tego rozwiązało dla mnie.
Boggin
2
Nie działało dla mnie, usunięcie tych plików absolutnie nie ma żadnego efektu. Ponadto nie .errwidzę żadnych dodatkowych wierszy w pliku, gdy widzę problem.
Aleksei Petrenko
Dziękuję To działało idealnie dla mnie. Usuwanie pliku .suo i wszystkich innych rzeczy nie działa. To idealne rozwiązanie.
sapatelbaps
19

Natrafiłem na ten sam problem, ale usunięcie pliku .suo nie pomogło. Jedynym sposobem, w jaki mogłem załadować projekt, było usunięcie pliku „Your_Project_FileName.csproj.user” .

-

Ponownie napotkałem ten problem kilka miesięcy później, ale tym razem usunięcie pliku „Your_Project_FileName.csproj.user” nie pomogło, tak jak ostatnio. W końcu udało mi się wyśledzić problem z IIS Express. Usunąłem witrynę z mojego applicationhost.config i pozwoliłem Visual Studio ponownie ją utworzyć, co pozwoliło w końcu załadować projekt.

QAZZY
źródło
2
Usunąłem wszystkie witryny w applicationhost.config, a następnie mogłem ponownie załadować projekt.
Scott Munro
Tak, właśnie miałem ten problem, kiedy zmieniłem gałęzie git na rozwiązanie. Nie można zbudować, nie można debugować, nic. Zrobiło to usunięcie pliku * .user.
Kristian,
12

Dla mnie ten problem był spowodowany sprzecznymi <site>konfiguracjami w następującym pliku.

C:\Users\smunro\Documents\IISExpress\config\applicationhost.config

Zedytowałem ten plik, aby usunąć wszystkie siteelementy w następującym elemencie. Możesz być nieco bardziej selektywny i spróbować zidentyfikować witrynę, która powoduje konflikt, i po prostu ją usuń.

<configuration><system.applicationHost><sites>

Zauważ, że ja zostawiłem <siteDefaults>, <applicationDefaults>i<virtualDirectoryDefaults> elementy tam.

Kiedy ponownie załadowałem projekt, nowy <site>element został utworzony automatycznie.

Scott Munro
źródło
1
Tak już lepiej. Najdziwniejsze było to, że w VS2015 zostało to zignorowane, ale w VS2010 poszło dobrze.: S Oldie but goodie? :)
armia
1
Jeśli używasz Visual Studio 2015, usuń plik applicationhost.config z <Root-of-Solution> \ .vs \ config \, to zadziałało dla mnie, ponieważ pomieszałem z powiązaniami.
Richard.Davenport
7

Upewnij się, że okno wyjściowe jest widoczne przed naciśnięciem przycisku F5. Jeśli okno maksymalne jest zmaksymalizowane, od czasu do czasu program Visual Studio nie otwiera go ponownie po ponownym uruchomieniu.

Prosta poprawka: 1. Uruchom ponownie Visual Studio 2. PRZED zbudowaniem projektu, użyj Widok-> Okno wyjściowe

Teraz, kiedy budujesz, powinno działać.

(Jestem pewien, że usunięcie plików .suo i .user działa tylko dlatego, że resetuje Visual Studio do domyślnego układu, co zapewnia, że ​​okno wyjściowe jest widoczne.)

HiredMind
źródło
To wydaje się być KLUCZEM dla działającego rozwiązania! Z pewnością nie celowo zamknąłem okno Output i nawet nie pomyślałem, żeby spojrzeć i zobaczyć, czy „Output” tam jest. Cokolwiek leżało u podstaw problemu, brakujące okno wyjściowe było częścią problemu. UWAGA: w moim przypadku Widok-> Wyjście (ctrl + alt + O) nie był wystarczający, aby okno się pojawiło, musiałem WTEDY ponownie uruchomić Visual Studio 2015.
Cos Callis
Tak. Jeśli spróbujesz wykonać Ctrl-Alt-O lub Widok-> Wyjście po wykonaniu jakiejkolwiek operacji, która próbuje zapisać w oknie wyników (np. Kompilacja), jest już za późno - będziesz musiał ponownie uruchomić.
HiredMind
5

Uruchom eventvwr z wiersza poleceń, aby sprawdzić, czy zarejestrował jakieś błędy aplikacji.

Może to dać rzeczywisty komunikat o błędzie, który jest bardziej przydatny.

munnster79
źródło
3

Miałem podobny problem z otwieraniem Razor Views

  • Zalogowałem się na swoje konto Azure, które prosiło o ponowne wprowadzenie danych logowania.
  • Uruchom ponownie aktualizację VS 2015 Update 1
Stefano Nepa
źródło
3

Miałem ten sam błąd. Nie mogłem otworzyć żadnej klasy i komponentu mojego rozwiązania. Usunąłem ComponentModelCache i przetestowałem inne rozwiązania .. ale bez rezultatu. Wreszcie pomogło mi: ZAMKNIJ SWOJE STUDIO WIZUALNE I PONOWNIE OTWÓRZ GO!

Elnaz
źródło
3

Musiałem usunąć projekt internetowy. Wewnątrz znajdował się stary plik DLL, do którego odwoływałem się, i musiałem wyczyścić ten projekt WWW, a potem zadziałał.

Emmanuel
źródło
2

Usunąłem stary projekt z rozwiązania, po czym wystąpił błąd. Musiałem otworzyć plik .sln w notatniku i usunąć odwołanie .dll do starego projektu, który usunąłem. Potem zadziałało.

Christo Carstens
źródło
Miałem podobny problem. Plik SLN miał witrynę internetową (nie projekt internetowy), która odwoływała się do projektu usuniętego z rozwiązania. W moim przypadku właśnie dodałem brakujący projekt i wszystko jest w porządku.
Pan TA
2

Rozwiązanie: ten dialog był wyświetlany podczas próby zbudowania / przebudowania / wyczyszczenia pliku .sln. Aby to naprawić, musiałem zatrzymać stronę IIS powiązaną z aplikacją i zrestartować visual studio. (Następnie uruchom ponownie witrynę).

Jak odkryłem przyczynę: Wydaje się, że jest to dość ogólna wiadomość dla wielu różnych problemów. Skończyłem śledzenie mojego konkretnego problemu do kilku zablokowanych plików przez IIS z dziennikami zdarzeń.

Rozwiązania do usuwania wszystkich stron są rodzajem podejścia „Nuke it from orbit”, które powinno być stosowane w ostateczności.

Les McCutcheon
źródło
2

Myślę, że przyczyną tego problemu jest StyleCop. Więc,

  1. Zamknij VS.
  2. Usunąłem wszystkie pliki StyleCop.Settings i StyleCop.Cache we wszystkich projektach rozwiązań.
  3. Usunąłem również wszystkie projekty * .csproj.user.
  4. Uruchom ponownie VS.
SOAL ABDELDJALLIL
źródło
1

Błąd „Operacja nie mogła zostać zakończona” może być również spowodowany projektem C ++ odwołującym się do innego projektu, którego już nie ma w rozwiązaniu.

Zwykle po usunięciu projektu z rozwiązania program Visual Studio usuwa wszelkie odniesienia do niego z innych projektów w rozwiązaniu.

W moim przypadku jednak dzieliłem projekty między rozwiązaniami, dlatego udało mi się wkraść złe referencje do projektu, a usunięcie złych referencji naprawiło błąd.

Korzystanie z programu Visual Studio 2012.

Martin Connell
źródło
0

Nigdy więcej plików .SUO, ale usuwanie plików .user działa. FYI: Debuguję projekt Silverlight

Andy Li
źródło
0

Jeśli korzystasz z programu Visual Studio 2015 i pracujesz na platformie ASP.NET, utwórz nową witrynę internetową, skopiuj poprzednie pliki do nowej witryny i utwórz ją. Twój stary projekt wciąż odwołuje się do niektórych starych parametrów uruchamiania.

James Wanyeki
źródło
To bardzo ekstremalne rozwiązanie. Przed użyciem tego rozwiązania wypróbuj inne rozwiązania opisane w tym wątku. Pierwszą rzeczą, która czasami działa (przynajmniej dla mnie), jest zamknięcie i ponowne otwarcie programu Visual Studio.
pocjoc
0

Podczas pracy nad projektami VB.Net w Visual Studio 2005 napotkałem ten problem wiele razy. Zwykle wyłączenie opcji „Włącz proces hostowania programu Visual Studio” we właściwościach debugowania aplikacji rozwiązuje problem. Zwykle po włączeniu procesu hostowania może to mieć wpływ na połączenia z niektórymi interfejsami API.

Aby odznaczyć tę opcję, wykonaj następujące czynności:

  • Kliknij prawym przyciskiem myszy swój projekt w Eksploratorze rozwiązań
  • Wybierz właściwości
  • W zakładce Debugowanie znajdziesz pole wyboru Włącz proces hostowania Visual Studio . Odznacz tę opcję.
  • Zapisz swoje zmiany
Sri Murthy Upadhyayula
źródło
Visual Studio 2005? ... Nawet nie widzę tej opcji w najnowszych wersjach Visual Studio ...
Morty
@ArielAltamirano Jak powiedziałem, ta opcja jest obecna w Studio 2005, nie jestem pewien co do najnowszych wersji
Sri Murthy Upadhyayula,
0

Pracowałem dla mnie po zamknięciu programu Visual Studio (2015 Community Edition), otwarciu go i ponownym otwarciu projektu. Zdarzyło mi się, ponieważ użyłem tego projektu jako zależności w innym projekcie i został on otwarty w innej instancji, ale zmiany nie zostały naśladowane .

tk26
źródło
0

W przypadku tego problemu rozwiązałem go, usuwając plik .user, który zawiera opcje użytkownika programu Visual Studio Project. Ten plik można znaleźć w tym samym miejscu, w którym znajduje się plik .sln. Ponadto po usunięciu tego pliku z projektu należy ponownie załadować rozwiązanie, aby zadziałało.

CesarB
źródło
0

Przejdź do Uruchom i wpisz „inetmgr”, tj. IIS jest otwarty, aw prawym rogu okna akcji wybierz opcję zmień „Wersja .NET Framework”. Zmień to.

Następnie zainstaluj ponownie Visual Studio 2010. Działa na moim komputerze i dlatego udostępniam.

xxxx
źródło
0

Dla mnie było tak, ponieważ dodałem wpis, aby powiązać witrynę w IISExpress z określonym adresem IP, a mój adres IP się zmienił. Mam wskazówkę z dziennika zdarzeń.

Mam nadzieję, że to komuś pomoże!

Ian Grainger
źródło
0

Uaktualniałem do .NET4.6 z aplikacji innej firmy (unity3d). Otrzymywałbym ten komunikat, gdy próbowałem ponownie załadować rozwiązanie, gdy nie ładuje się przy starcie. Moim rozwiązaniem było kliknięcie rozwiązania prawym przyciskiem myszy i wybranie „zainstaluj brakujące funkcje”, co skłoniło mnie do pobrania tego, czego potrzebowałem. Pobieranie wyskakującego okienka nie działało, więc właśnie zainstalowałem pakiet docelowy .NET dla tego, na czym byłem (4.6) i to naprawiło.

hydrix
źródło
0

Usunąłem wszystkie pliki .suo i .user i zrestartowałem VS 2008. Ale to nie działało dla mnie. Poniższe kroki działały dla mnie.

Open project file (.csproj) in notepad.
Removed all configurations from <Configurations></COnfigurations> tag.
Then add one by one configuration and reload project in VS.
Build the project or view project properties.
Pabitra Dash
źródło
0

W przypadku projektów Visual C ++ może to być spowodowane nieprawidłowym sformatowaniem vcsproj.filters plikiem.

W moim przypadku ktoś wykonał ręczne scalanie gałęzi i nie scalił poprawnie pliku filtrów. Program Visual Studio nadal ładuje i buduje plik bez żadnych ostrzeżeń, ale wyświetlał ostrzeżenie „Nieokreślony błąd” przy każdej próbie dodania lub usunięcia plików z projektu.

Zeskanuj vcsproj.filtersplik w poszukiwaniu zduplikowanych wpisów lub linii, które wyglądają tak i usuń je. Zamknij i ponownie otwórz projekt.

<ClInclude Include="..\..\path\to\sourcefile.h" />

Visual Studio Enterprise 2017

Dan
źródło
0

W moim przypadku brakowało zestawu SDK Silverlight 5, więc moje projekty Silverlight nie ładują się. Podczas próby ponownego załadowania projektu pojawia się komunikat „Operacja nie mogła zostać zakończona”. Po zainstalowaniu problem został rozwiązany.

sijovw
źródło
0

wprowadź opis zdjęcia tutajUruchom ponownie studio wizualne, ponieważ administrator będzie działał w wielu przypadkach.

Ishwor Khanal
źródło
0

W naszym przypadku problem pojawił się po wprowadzeniu zmian w Debugowaniu -> Właściwości myProject -> Web, w szczególności zmianie adresu URL projektu, a następnie zamknięciu VS. Po ponownym otwarciu VS miał problem z analizą nowego adresu URL, więc zgłosił błąd. Niestety dalsza konfiguracja za pomocą interfejsu VS nie była możliwa, ponieważ projekt się nie ładuje.

Ponieważ zmiany konfiguracji plików są utrwalane w pliku myProject.csproj.user, który znajduje się w folderze głównym projektu, problem można łatwo rozwiązać, usuwając po prostu plik myProject.csproj.user. W tym momencie projekt zostanie załadowany, a plik użytkownika zostanie ponownie wygenerowany, gdy projekt zostanie uruchomiony w trybie debugowania.

Uwaga: adres URL projektu w zregenerowanym pliku musiał zostać zmieniony z domyślnego http: // localhost: 58995 na oryginalny https: // localhost: 44302, zanim cała aplikacja była dostępna, ponieważ aplikacja została zablokowana w trybie SSL. Twoje porty mogą być inne. Dokonano tego poprzez VS w obszarze Debug -> Właściwości myProject -> Web po uruchomieniu projektu.

spadelives
źródło
0

Żadne z powyższych rozwiązań nie działało dla mnie. Ale następujące działania:

  1. Otwórz bieżący folder w Eksploratorze Windows
  2. Przenieś folder ręcznie do żądanej lokalizacji
  3. Otwórz plik .csproj. VS automatycznie utworzy plik .sln.
Sukhi
źródło
0

Miałem podobny problem w projekcie iOS w porównaniu do 2019 roku, działa on na VM na Macu, zamykam i ponownie uruchamiam studio wizualne, problem zniknął issue

Adithya
źródło