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


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/


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.


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.


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ć

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. :-)


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.


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.


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.


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.


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.


2

Zmiana tego ustawienia projektu rozwiązuje problem dla mnie.

wprowadź opis zdjęcia tutaj


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


1

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


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.


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ć.


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 ....


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

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.


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>

-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.

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.