Ошибка Visual Studio 2017: невозможно запустить программу, операция в текущем состоянии недопустима

396

После новой установки Visual Studio 2017 я попытался запустить веб-проект .NET Core, и при попытке запустить его в Chrome я получаю эту ошибку:

Невозможно запустить программу. Операция не разрешена в текущем состоянии.

Раденко Зец
источник
Можете ли вы запустить приложение с помощью командной строки и посмотреть, какие ошибки вы получаете? dotnet run(сначала, dotnet restoreа dotnet buildпотом можно бежать)
Джоэл Харкс
3
@JoelHarkes После того, как я закрыл и снова открыл Visual Studio 2017, он теперь работает. Не знаю, что вызвало проблему, но не решена.
Раденко Зец
Возможно, он думал, что все еще готовит заявление. или что-то.
Джоэл Харкс
1
Я попытался закрыть / открыть, не работает - все еще происходит
codeMonkey
Кажется, что это специфично для Chrome - FF, Opera, Brave, IE все запускаются ОК.
Роберт

Ответы:

754

Для меня решение (обходной путь) - отключить отладку JavaScript в Chrome, что, я считаю, является новой функцией, появившейся в VS 2017.

Перейдите в Инструменты> Параметры> Отладка> Общие и отключите параметр Включить отладку JavaScript для ASP.NET (Chrome и IE) .

VS2017 Отключить отладку JS

Это уже известная проблема, и, похоже, расследование продолжается .

Полная информация об отладке JS в VS 2017 здесь: https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

ABVincita
источник
30
Если вы отключите это, вы больше не сможете отлаживать свой клиентский код в Visual Studio. Я сделал некоторые обходные пути для решения этой проблемы. Вы можете видеть это в моем ответе. Спасибо
Сибееш Вену
4
К вашему сведению, Microsoft исправила проблему, и теперь это исправление доступно в их последнем обновлении VS. developercommunity.visualstudio.com/solutions/93579/view.html
ABVincita
2
Вы чемпион чемпионов! Спасибо за быстрое решение.
Lostaunaum
1
Просто столкнулся с этой проблемой, и это решило ее, спасибо. Он также не дает VS открывать отладку в новом окне браузера и открывает сайт в новой вкладке, что я и предпочел в VS 2015!
Евфобия
9
Это до сих пор не исправлено. Просто нужно было сделать это для 15,4
StingyJack
210

Сегодня я получил эту ошибку, и я просто сделал небольшой обходной путь, который был слишком простым.

  1. Закройте все ваши экземпляры Chrome, которые вы могли открыть до открытия Visual Studio.
  2. Теперь прекратите отладку и снова запустите ваше приложение.

Вы не получите ошибку снова, и если отладчик не сработает, обновите браузер снова.

Обновление (12 декабря 2018 года):

Я только что проверил эту ошибку в предварительном просмотре Visual Studio 2019, похоже, ошибка исправлена.

Надеюсь это поможет.

Сибееш Вену
источник
3
Потребовалось несколько попыток, но это сработало. Надеюсь, они смогут найти постоянное решение, вместо того, чтобы каждый раз закрывать все
Карлос Казаликкио
У меня было несколько открытых экземпляров Chrome. Я закрыл только тот, который я использовал для отладки. Я не перезагружал VS2017. Это сработало. Спасибо! Это должен быть принятый ответ, так как я все еще могу отлаживать в Chrome, верно?
Soenhay
@ Soenhay Да, вам не нужно перезапускать VS2017, похоже, это ошибка, надеюсь, команда VS посмотрит это в ближайшее время.
Сибиш Вену
+1 - ошибка, кажется, если старый отлаженный браузер в Chrome все еще работает. Закрытие, которое решает проблему.
StuartLC
Раньше это работало на меня. Это прекратилось. Тогда закрытие VS и перезапуск будет работать. Это прекратилось. Тогда перезагрузка будет работать. Это прекратилось. @ABVincitas ответ теперь работает. Надеюсь, что это тоже не подведет!
HankCa
33

У меня была такая же проблема после последнего обновления VS 2017 (выпущено 14 марта 2017: сборка 26228.09). Моя программа прекрасно отлаживалась в IE, но не работала в Chrome. Уничтожение всех экземпляров Chrome в командной строке Windows устранило проблему для меня.

taskkill /im chrome.exe /f

Затем я смог отладить в Chrome.

jGroot
источник
Это сработало и для меня. Не уверен, почему это перестало работать в первую очередь.
Ельник,
Это единственное решение, сработавшее для меня. Я работаю с VS Studio Community Edition Версия 15.4.2 - Спасибо
SanS
Отлично! Простая в использовании команда, и она помогла, когда другие высоко оцененные комментарии не сделали.
Даниэль Вартдал
1
Для меня это был правильный ответ, но он никогда не наберет много голосов, потому что люди закрывают хром и не возвращаются, ирония
Хорхе Родригес душ Сантуш
9

3 варианта

  1. Отключите функцию отладки JavaScript в Инструменты> Параметры> Отладка> Общие
  2. Убить все задачи Chrome
  3. Переключитесь на другой браузер для отладки
Sh7ne
источник
7

Я нашел обходной путь к этому, который работал для меня.

Выбрав Chrome в качестве браузера, щелкните Debugменю и выберите Attach to Process....

В следующем диалоговом окне выберите Chrome.exeв списке и нажмите Selectкнопку для Attach to:. Установите Nativeфлажок, затем Attach(или просто дважды щелкните Chrome.exe): введите описание изображения здесь

Это запустит проект без запуска браузера. Остановите и перезапустите в Chrome, и ошибка исчезла.

Конечно, еще одно потенциальное решение - использовать другой браузер, но мне нравится отладка в Chrome. :-)

Роберт
источник
5

Я думаю, что это происходит, когда в Visual Studio включена отладка javascript и в то же время включен отладчик инструментов разработчика chrome. Проблема возникает из-за того, что два разных отладчика пытаются отладить один и тот же процесс.

Иаков
источник
3

Я просто закрыл все открытые экземпляры Chrome, остановил свой проект и снова запустил его. это решило проблему для меня.

Читиви Малек
источник
3

Для меня проблема заключалась в том, чтобы войти в мою учетную запись Google в окне отладки Chrome. Это работало нормально для меня, пока я не вошел в систему. Как только я вышел из этого экземпляра Chrome И решил удалить все мои настройки с помощью флажка , отладчик снова работал нормально.

Мой неотладочный экземпляр Chrome все еще был зарегистрирован в Google и не пострадал. Основная проблема заключается в том, что мои прекрасные плагины ушли из отладочной версии, но, по крайней мере, я могу снова пройтись по клиентскому коду.

Мэтти
источник
2

Я попробовал ответ Сибиш Вену , но это не сработало для меня. Я считаю, что если бы я убил все процессы Chrome, это бы сработало. Я завершил некоторое другое тестирование и обнаружил, что отключение «Продолжить с того места, где вы остановились» в настройках Chrome гарантировало, что это больше не повторится для меня.

Брэнтли Фрайфогл
источник
2

Я только недавно имел эту ошибку. Для меня было решено закрыть хромированное окно, в котором работал инспектор. У меня есть его собственное окно всякий раз, когда я проверяю веб-страницу. Не нужно было ничего отключать или менять на visual studio.

Ник Фойер
источник
2

Изменение этого параметра проекта решит проблему для меня.

введите описание изображения здесь

Стенли
источник
2

Что для меня исправляет, так это посмотреть в панели задач открытые приложения Chrome, щелкнуть правой кнопкой мыши и закрыть их. введите описание изображения здесь

dangalg
источник
1

Другие ответы в моем случае не сработали. Мне пришлось перезапустить Windows, прежде чем я смог снова отладить приложение.

hellyale
источник
1

Я использую встроенные в Chrome инструменты консоли разработчика для отладки javascript, поэтому решение с пометкой «ответ» отлично работает для меня.
Это странное сообщение об ошибке, которое я получал от VS Community 2017 при попытке отладки приложения asp.net:

«Произошла ошибка, которая обычно указывает на поврежденную установку (код 0x80040154). Если проблема не устранена, восстановите установку Visual Studio через« Установка и удаление программ »на панели управления». и это исправлено сейчас.

Натан Пратер
источник
1

Либо переключите свой браузер в VS2017. Или откройте командную строку с правами администратора и выполните команду Tskill Chrome примерно 10 раз, чтобы убедиться, что приложение полностью умирает. Тогда попробуйте еще раз. Иногда он застревает в другом процессе, и даже его нужно перезапустить.

RetroCoder
источник
1

Это сообщение об ошибке появилось для меня, когда я попытался отладить два решения одновременно, поскольку я хотел визуально сравнить различия. Снятие флажка «Включить отладку JavaScript для ASP.NET (Chrome и IE)» сработало, но я все еще не понимаю, почему не могу отладить более одного решения за раз. Поскольку это известная проблема, возможно, это будет исправлено в обновлении Visual Studio. Вот на что надеяться ....

Кинан Стюарт
источник
0

Мне удалось решить эту проблему в Chrome, отключив расширение Calendly Chrome, которое я недавно установил. Может быть не относится к Calendly, поэтому я рекомендую отключить все недавно установленные расширения Chrome. Ниже приведены шаги, которые я предпринял:

  1. Программа отладки
  2. Пусть Chrome Open и VS выдают ошибку
  3. Очистите VS ошибку, нажав ОК
  4. Нажмите Три точки в правом верхнем углу Chrome.
  5. Наведите курсор мыши на «Дополнительные инструменты» и нажмите «Расширения»
  6. Найдите плитку Calendly и отметьте ползунок в правом нижнем углу, чтобы отключить положение
  7. Закройте все окна Chrome, включая все окна Chrome в панели задач, которые продолжают работать
  8. Прекратить отладку
  9. Запустите программу снова в режиме отладки
Сэр Дэвид Дж. Гарретсон М.С.
источник
0

Решение с включенной отладкой JavaScript

В браузере Chrome перейдите: « Настройки»> «Дополнительно»> «Система» и отключите «Продолжать запуск фоновых приложений, когда Google Chrome закрыт».

ВАЖНЫЙ! Опция выше должна быть установлена ​​для правильного профиля пользователя Chrome!
Visual Studio имеет собственный профиль пользователя Chrome, настройки, которые вы задаете при использовании «обычного» браузера Chrome, не будут влиять на браузер Chrome, запускаемый из VS (с включенной отладкой JS).

  1. Запустите ваш проект из VS с включенным «Включить отладку JavaScript ...» . Браузер Chrome должен открыться, и вы получите ошибку в VS.
  2. Вернитесь к тому же экземпляру Chrome, который был запущен VS, и отключите «Продолжать запуск фоновых приложений, когда Google Chrome закрыт», как описано выше.
    Если вы не включили / не включили «Включить отладку JavaScript ...», экземпляр Chrome будет использовать ваш профиль пользователя по умолчанию, и ошибка будет повторяться.
  3. Остановите и перезапустите ваш проект. Chrome должен загрузить проект, как ожидается, без каких-либо ошибок и с включенной отладкой JS.

Всякий раз, когда вы останавливаете отладку, вы должны закрыть экземпляр Chrome, инициированный VS, иначе ошибка вернется при следующем запуске проекта. Если есть другие экземпляры Chrome, вы можете оставить их открытыми.

Чтобы убедиться, что Chrome использует правильный профиль пользователя, перейдите в chrome: // version / , введя его в строке URL-адреса, а затем посмотрите значение для пути к профилю . В Windows правильное значение должно выглядеть примерно так:
"C:\Users\[UserName]\AppData\Local\Microsoft\VisualStudio\15.*\WebTools\ChromeUserData_*\Default"

Если Chrome использует браузер по умолчанию или вы вошли в Chrome с учетной записью, это будет выглядеть примерно так:
"C:\Users\[UserName]\AppData\Local\Google\Chrome\User Data\[ProfileName] OR Default"

Бонусная заметка. Если вы используете Chrome Extensions при отладке, они должны быть установлены при активном профиле VS.

MikeNight
источник
0

Если вы не можете решить проблему каким-либо другим способом, попробуйте следующее (это сработало для меня!):

Сохраните приведенный ниже код в файле веб-конфигурации, затем переименуйте value="yourwebformname.aspx"

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

еще попробуй :

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
Темная материя
источник
-1

Другое решение, которое вы можете попробовать, которое сработало для меня, когда я получил эту ошибку, это очистить решение, а затем выполнить перестройку. Поскольку другие решения не помогли мне, я подумал, что это может помочь кому-то еще в той же лодке.

Кинан Стюарт
источник