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

387

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

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

  • 0
    Можете ли вы запустить приложение с помощью командной строки и посмотреть, какие ошибки вы получаете? dotnet run (сначала dotnet restore и dotnet build а затем вы можете запустить)
  • 3
    @JoelHarkes После того, как я закрыл и снова открыл Visual Studio 2017, он теперь работает. Не знаю, что вызвало проблему, но не решена.
Показать ещё 7 комментариев
Теги:
asp.net-core
visual-studio-2017

20 ответов

681
Лучший ответ

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

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

Изображение 5913

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

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

  • 29
    Если вы отключите это, вы больше не сможете отлаживать свой клиентский код в Visual Studio. Я сделал некоторые обходные пути для решения этой проблемы. Вы можете видеть это в моем ответе. Спасибо
  • 11
    Почему это принятый ответ?
Показать ещё 21 комментарий
208

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

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

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

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

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

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

  • 3
    Потребовалось несколько попыток, но это сработало. Надеемся, что они могут найти постоянное решение, вместо того, чтобы каждый раз закрывать все
  • 0
    У меня было несколько открытых экземпляров Chrome. Я закрыл только тот, который я использовал для отладки. Я не перезагружал VS2017. Это сработало. Спасибо! Это должен быть принятый ответ, так как я все еще могу отлаживать в Chrome, верно?
Показать ещё 5 комментариев
28

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

taskkill /im chrome.exe /f

Затем мне удалось отладить в Chrome.

  • 0
    Это сработало и для меня. Не уверен, почему это перестало работать в первую очередь.
  • 0
    Это единственное решение, сработавшее для меня. Я использую VS Studio Community Edition Версия 15.4.2 - Спасибо
Показать ещё 2 комментария
8

3 варианта

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

Я нашел обходное решение для этого, которое сработало для меня.

Когда Chrome выбран в качестве браузера, нажмите меню " Debug и выберите " Attach to Process....

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

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

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

4

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

2

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

  • 0
    Я работаю для меня с проектом MVC5.
2

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

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

2

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

2

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

2

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

1

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

1

Переключайте браузер в VS2017. Или откройте командную строку в качестве администратора и сделайте tskill chrome примерно 10 раз, чтобы убедиться, что приложение полностью погибло. Затем повторите попытку. Иногда он застревает в другом процессе, и даже его нужно перезапустить.

1

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

Изображение 5916

1

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

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

1

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

0

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

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

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

else Попробуйте:

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
0

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

  1. Отладочная программа
  2. Пусть Chrome Open и VS бросают ошибку
  3. Очистить ошибку VS, нажав OK.
  4. Нажмите "Три точки" в правом верхнем углу Chrome.
  5. Наведите указатель мыши на "Дополнительные инструменты" и нажмите "Расширения"
  6. Найдите Calendly tile и пометьте ползунок в правом нижнем углу в положение "Off"
  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, а затем посмотрите на значение для Profile Path. В 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 при отладке, они должны быть установлены при активном профиле VS.

0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню