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.