Błąd programu Visual Studio 2017: Nie można uruchomić programu, Operacja jest niezgodna z prawem w bieżącym stanie

396

Po nowej instalacji programu Visual Studio 2017 próbowałem uruchomić projekt .NET Core Web, a podczas próby uruchomienia go w Chrome pojawia się ten błąd:

Nie można uruchomić programu. Operacja nie jest legalna w obecnym stanie

Radenko Zec
źródło
czy możesz uruchomić aplikację za pomocą wiersza polecenia i zobaczyć, jakie błędy otrzymujesz? dotnet run(najpierw, dotnet restorea dotnet buildpotem można biegać)
Joel Harkes
3
@JoelHarkes Po zamknięciu i ponownym otwarciu programu Visual Studio 2017 działa teraz. Nie wiem, co spowodowało problem, ale nie zostało rozwiązane.
Radenko Zec,
Może myślał, że wciąż przygotowuje aplikację. lub coś.
Joel Harkes,
1
Próbowałem zamknąć / ponownie otworzyć, nie działało - wciąż się dzieje
codeMonkey
Wygląda na specyficzne dla Chrome - FF, Opera, Brave, IE wszystkie uruchamiają się OK.
Robert

Odpowiedzi:

754

Dla mnie rozwiązaniem (obejściem) jest wyłączenie debugowania JavaScript w przeglądarce Chrome, co moim zdaniem jest nową funkcją wprowadzoną w VS 2017.

Przejdź do Narzędzia> Opcje> Debugowanie> Ogólne i wyłącz ustawienie Włącz JavaScript Debugowanie dla ASP.NET (Chrome i IE) .

VS2017 Wyłącz debugowanie JS

Jest to już znany problem i wydaje się, że prowadzone jest dochodzenie .

Pełne informacje o debugowaniu JS w VS 2017 tutaj: https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

ABVincita
źródło
30
Jeśli to wyłączysz, nie będziesz już mógł debugować kodu po stronie klienta w Visual Studio. Zrobiłem pewne obejście, aby rozwiązać ten problem. Widać to w mojej odpowiedzi. Dzięki
Sibeesh Venu,
4
Do Twojej wiadomości, Microsoft naprawił problem, a poprawka jest teraz dostępna w najnowszej aktualizacji VS. developercommunity.visualstudio.com/solutions/93579/view.html
ABVincita
2
Jesteś mistrzem mistrzów! Dzięki za szybkie rozwiązanie.
Lostaunaum
1
Właśnie wpadłem na ten problem i to go rozwiązało, dzięki. Uniemożliwia także VS otwieranie debugowania w zupełnie nowym oknie przeglądarki i otwiera stronę w nowej karcie, co wolałem w VS 2015!
Euphobia
9
To wciąż nie jest naprawione. Po prostu musiałem to zrobić dla 15,4
StingyJack
210

Dzisiaj dostałem ten błąd i właśnie zrobiłem małe obejście, które było zbyt proste.

  1. Zamknij wszystkie instancje chrome, które mogły zostać otwarte przed otwarciem programu Visual Studio.
  2. Teraz przestań debugować i ponownie uruchom aplikację.

Błąd nie pojawi się ponownie, a jeśli debugger nie trafi, odśwież ponownie przeglądarkę.

Aktualizacja (12 grudnia 2018 r.):

Właśnie przetestowałem ten błąd w podglądzie programu Visual Studio 2019, wygląda na to, że błąd został już naprawiony.

Mam nadzieję że to pomoże.

Sibeesh Venu
źródło
3
Wymagało to kilku prób, ale zadziałało. Mamy nadzieję, że uda im się znaleźć trwałe rozwiązanie zamiast konieczności zamykania wszystkiego za każdym razem
Carlos Casalicchio,
Miałem wiele wystąpień Chrome otwartych. Zamknąłem tylko ten, którego użyłem do debugowania. Nie zrestartowałem VS2017. Zadziałało. Dzięki! To powinna być zaakceptowana odpowiedź, ponieważ nadal mogę debugować w Chrome, prawda?
Soenhay,
@ Soenhay Tak, nie musisz restartować VS2017, wydaje się, że to błąd, mam nadzieję, że zespół VS przyjrzy się temu wkrótce.
Sibeesh Venu,
+1 - wydaje się, że błąd występuje, jeśli stara debugowana przeglądarka w Chrome nadal działa. Zamknięcie, które rozwiązuje problem.
StuartLC,
To kiedyś działało dla mnie. To się skończyło. Wtedy zamknięcie VS i ponowne uruchomienie będzie działać. To się skończyło. Wtedy ponowne uruchomienie będzie działać. To się skończyło. Odpowiedź @ABVincitas teraz działa. Mam nadzieję, że to też nie zawiedzie!
HankCa,
33

Miałem ten sam problem po ostatniej aktualizacji VS 2017 (wydanej 14 marca 2017: kompilacja 26228.09). Mój program dobrze debugowałby w IE, ale bombardowałby w Chrome. Zabicie wszystkich wystąpień Chrome w wierszu poleceń systemu Windows rozwiązało problem.

taskkill /im chrome.exe /f

Byłem wtedy w stanie debugować w Chrome.

jGroot
źródło
To również działało dla mnie. Nie jestem pewien, dlaczego przestał działać.
Yelnic,
To jedyne rozwiązanie, które dla mnie zadziałało. Korzystam z VS Studio Community Edition w wersji 15.4.2 - Dzięki
SanS
Doskonały! Łatwe w użyciu polecenie, które pomogło tam, gdzie inne wysoko ocenione komentarze tego nie zrobiły.
Daniel Vartdal,
1
Dla mnie to była właściwa odpowiedź, ale nigdy nie uzyska wielu głosów, ponieważ ludzie zamykają chrom i nie wracają, ironia
Jorge Rodrigues dos Santos
9

3 opcje

  1. Wyłącz funkcję debugowania JavaScript w Narzędzia> Opcje> Debugowanie> Ogólne
  2. Zabij wszystkie chromowane zadania
  3. Przełącz na inną przeglądarkę, aby debugować
Sh7ne
źródło
7

Znalazłem obejście tego, które działało dla mnie.

Po wybraniu Chrome jako przeglądarki kliknij Debugmenu i wybierz Attach to Process....

W kolejnym oknie dialogowym wybierz Chrome.exez listy i kliknij Selectprzycisk dla Attach to:. Zaznacz Nativepole, a następnie Attach(lub po prostu kliknij dwukrotnie Chrome.exe): wprowadź opis zdjęcia tutaj

Spowoduje to uruchomienie projektu bez uruchamiania przeglądarki. Zatrzymaj się i uruchom ponownie w Chrome, a błąd zniknął.

Oczywiście innym potencjalnym rozwiązaniem jest użycie innej przeglądarki, ale lubię debugowanie w Chrome. :-)

Robert
źródło
5

Myślę, że dzieje się tak, gdy debugowanie javascript jest włączone w Visual Studio, a jednocześnie włączany jest debugger narzędzi programistycznych Chrome. Problem powstaje, ponieważ dwa różne debugery próbują debugować ten sam proces.

Jakub
źródło
3

Właśnie zamknąłem wszystkie otwarte instancje chrome, zatrzymałem mój projekt, a następnie uruchomiłem go ponownie. to rozwiązało problem.

Chtiwi Malek
źródło
3

Dla mnie problemem było zalogowanie się na moje konto Google w oknie debugowania Chrome. Działa to dla mnie dobrze, dopóki się nie zalogowałem. Gdy wylogowałem się z tego wystąpienia Chrome ORAZ postanowiłem usunąć wszystkie moje ustawienia za pomocą pola wyboru , debugger znów działał dobrze.

Moja niezadebugowana instancja przeglądarki Chrome była nadal zalogowana w Google i nie uległa zmianie. Głównym problemem jest to, że moje piękne wtyczki zniknęły z wersji debugowania, ale przynajmniej mogę ponownie przejść przez kod klienta.

Matty
źródło
2

Próbowałem odpowiedzi od Sibeesh Venu , ale to nie działało dla mnie. Wierzę, że gdybym zabił wszystkie procesy chromowania, zadziałałoby. Ukończyłem inne testy i stwierdziłem, że wyłączenie opcji „Kontynuuj, gdzie przerwałeś” w ustawieniach Chrome zapewniło, że nie powtórzy się to dla mnie ponownie.

Brantley Fryfogle
źródło
2

Właśnie miałem ten błąd. Naprawiłem to, zamykając chromowane okno, w którym był uruchomiony inspektor. Mam ją wyskakującą z własnego okna za każdym razem, gdy przeglądam stronę internetową. Nie trzeba było wyłączać ani zmieniać niczego w studiu wizualnym.

Nick Feuer
źródło
2

Zmiana tego ustawienia projektu rozwiązuje problem dla mnie.

wprowadź opis zdjęcia tutaj

stenly
źródło
2

To, co mnie naprawia, to szukać na pasku zadań otwartych aplikacji Chrome, klikać je prawym przyciskiem myszy i zamykać. wprowadź opis zdjęcia tutaj

dangalg
źródło
1

Inne odpowiedzi w moim przypadku nie zadziałały. Musiałem ponownie uruchomić system Windows, aby móc ponownie debugować aplikację.

hellyale
źródło
1

Używam wbudowanych narzędzi chrome do konsoli programisty do debugowania javascript, więc rozwiązanie oznaczone jako odpowiedź działa dla mnie świetnie.
To dziwny komunikat o błędzie, który otrzymałem od VS Community 2017 podczas próby debugowania aplikacji asp.net:

„Wystąpił błąd, który zwykle wskazuje na uszkodzoną instalację (kod 0x80040154). Jeśli problem nadal występuje, napraw instalację programu Visual Studio za pomocą opcji„ Dodaj lub usuń programy ”w Panelu sterowania.” i teraz jest naprawione.

Nathan Prather
źródło
1

Zmień przeglądarkę w VS2017. Lub otwórz wiersz polecenia jako administrator i wykonaj chromowanie tskill około 10 razy, aby upewnić się, że aplikacja całkowicie umiera. Następnie spróbuj ponownie. Czasami blokuje się na innym procesie i nawet trzeba go zrestartować.

RetroCoder
źródło
1

Ten komunikat o błędzie pojawił się dla mnie, gdy próbowałem debugować dwa rozwiązania w tym samym czasie, gdy chciałem wizualnie porównać różnice. Odznaczenie opcji Włącz debugowanie JavaScript dla ASP.NET (Chrome i IE) działało, ale nadal jestem zdezorientowany, dlaczego nie mogłem debugować więcej niż jednego rozwiązania na raz. Ponieważ jest to znany problem, być może zostanie to rozwiązane w aktualizacji programu Visual Studio. Oto nadzieja ....

Keenan Stewart
źródło
0

Mogłem rozwiązać ten problem w Chrome, wyłączając rozszerzenie Calendly Chrome, które niedawno zainstalowałem. Może nie być specyficzne dla kalendarza, dlatego polecam wyłączenie wszelkich nowo zainstalowanych rozszerzeń Chrome. Poniżej kroki, które podjąłem:

  1. Program debugowania
  2. Pozwól Chrome otwierać i VS zgłaszać błąd
  3. Usuń błąd VS, klikając OK
  4. Kliknij Trzy kropki w prawym górnym rogu Chrome
  5. Najedź myszką na „Więcej narzędzi” i kliknij Rozszerzenia
  6. Znajdź Płytkę kalendarza i zaznacz suwak w prawym dolnym rogu, aby wyłączyć pozycję
  7. Zamknij wszystkie okna Chrome, w tym wszystkie okna Chrome, w pasku zadań, który jest nadal uruchomiony
  8. Przestań debugować
  9. Uruchom program ponownie w trybie debugowania
Sir David J. Garretson MS
źródło
0

Rozwiązanie z włączonym debugowaniem JavaScript

W przeglądarce Chrome przejdź do: Ustawienia> Zaawansowane> System i wyłącz „Kontynuuj uruchamianie aplikacji w tle po zamknięciu Google Chrome”.

WAŻNY! Powyższa opcja musi być ustawiona dla prawidłowego profilu użytkownika Chrome!
Visual Studio ma swój własny profil użytkownika Chrome, preferencje ustawione podczas korzystania z „normalnej” przeglądarki Chrome nie będą miały żadnego wpływu na przeglądarkę Chrome uruchomioną z VS (z włączonym debugowaniem JS).

  1. Uruchom swój projekt z VS z włączoną opcją „Włącz debugowanie JavaScript ...” . Przeglądarka Chrome powinna się otworzyć, a błąd pojawi się w VS.
  2. Wróć do tego samego wystąpienia Chrome, który uruchomił VS, i wyłącz „Kontynuuj uruchamianie aplikacji w tle po zamknięciu Google Chrome”, jak wyjaśniono powyżej.
    Jeśli nie masz włączonej / zaznaczonej opcji „Włącz debugowanie JavaScript ...”, instancja Chrome użyje Twojego domyślnego profilu użytkownika, a błąd będzie nadal występował.
  3. Zatrzymaj i uruchom ponownie projekt, Chrome powinien załadować projekt zgodnie z oczekiwaniami bez błędów i przy włączonym debugowaniu JS.

Za każdym razem, gdy przestajesz debugować, musisz zamknąć instancję Chrome zainicjowaną przez VS. W przeciwnym razie błąd powróci przy następnym uruchomieniu projektu. Jeśli są inne wystąpienia Chrome, możesz pozostawić je otwarte.

Aby upewnić się, że Chrome używa poprawnego profilu użytkownika, przejdź do chrome: // version / , wpisując go na pasku adresu URL, a następnie spójrz na wartość ścieżki profilu . W systemie Windows poprawna wartość powinna wyglądać mniej więcej tak:
"C:\Users\[UserName]\AppData\Local\Microsoft\VisualStudio\15.*\WebTools\ChromeUserData_*\Default"

Jeśli Chrome używa domyślnej przeglądarki lub jeśli jesteś zalogowany do Chrome za pomocą konta, będzie to wyglądać mniej więcej tak:
"C:\Users\[UserName]\AppData\Local\Google\Chrome\User Data\[ProfileName] OR Default"

Nota bonusowa. Jeśli używasz rozszerzeń Chrome podczas debugowania, należy je zainstalować, gdy profil VS jest aktywny.

MikeNight
źródło
0

Jeśli nie możesz rozwiązać problemu w żaden inny sposób, spróbuj tego (zadziałało dla mnie!):

Zachowaj poniższy kod w pliku konfiguracji sieci, a następnie zmień nazwę value="yourwebformname.aspx"

<system.webServer>
    <defaultDocument>
       <files>
          <add value="insertion.aspx" />
       </files>
    </defaultDocument>
    <directoryBrowse enabled="false" />
</system.webServer>

jeszcze Spróbuj :

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
Ciemna materia
źródło
-1

Innym rozwiązaniem, które możesz wypróbować, które zadziałało dla mnie po otrzymaniu tego błędu, jest wyczyszczenie rozwiązania, a następnie przebudowanie. Ponieważ inne rozwiązania mi nie pomogły, pomyślałem, że może to pomóc komuś innemu na tej samej łodzi.

Keenan Stewart
źródło