Ошибка. Не удается запустить отладку на веб-сервере
При попытке выполнить отладку приложения, запущенного на веб-сервере, может появиться следующее сообщение об ошибке: Unable to start debugging on the Web server
.
Часто эта ошибка возникает из-за того, что какая-то ошибка или изменение конфигурации требуют обновления ваших пулов приложений, сброса IIS или выполнения обоих этих действий. Чтобы выполнить сброс IIS, в командной строке с повышенными привилегиями введите команду iisreset
.
Что такое подробное сообщение об ошибке?
Сообщение Unable to start debugging on the Web server
является универсальным. Обычно строка ошибки содержит более конкретное сообщение, которое может помочь вам определить причину проблемы или подобрать более подходящее исправление. Вот несколько самых распространенных сообщений об ошибках, добавляемых к основному сообщению об ошибке.
- В IIS не указан веб-сайт, соответствующий URL-адресу запуска
- Веб-сервер настроен неправильно
- Не удалось подключиться к веб-серверу
- Веб-сервер не ответил вовремя
- Время ожидания операции
- Вероятно, монитор удаленной отладки Microsoft Visual Studio (msvsmon.exe) не запущен на удаленном компьютере
- Удаленный сервер вернул ошибку
- Не удалось запустить отладку ASP.NET
- Отладчику не удалось подключиться к удаленному компьютеру
- Сведения об общих ошибках конфигурации см. в справке. Дополнительные сведения могут быть получены при выполнении веб-страницы вне отладчика.
- Операция не поддерживается. Неизвестная ошибка: номер ошибки
В IIS не указан веб-сайт, соответствующий URL-адресу запуска
Перезапустите Visual Studio от имени администратора и повторите запуск отладки. (Некоторые сценарии отладки ASP.NET требуют повышенных привилегий.)
Вы можете настроить Visual Studio так, чтобы он всегда запускался от имени администратора. Для этого щелкните значок ярлыка Visual Studio правой кнопкой мыши, выберите Свойства > Дополнительно, а затем установите флажок "Всегда запускать от имени администратора".
Веб-сервер настроен неправильно
Не удалось подключиться к веб-серверу
Вы запускаете Visual Studio и веб-сервер на одном компьютере и выполняете отладку, нажимая клавишу F5 (а не с помощью команды Присоединиться к процессу)? Откройте свойства проекта и убедитесь, что в настройках проекта указан правильный веб-сервер и URL-адрес запуска. (Откройте Свойства > Интернет > Серверы или Свойства > Отладка в зависимости от типа проекта. Для проекта Web Forms откройте Страницы свойств > Параметры запуска > Сервер.)
Если это не так, перезапустите пул приложений, а затем выполните сброс IIS. Дополнительные сведения см. в статье Проверка конфигурации IIS.
Веб-сервер не ответил вовремя
- Выполните сброс IIS и повторите запуск отладки. К процессу IIS может быть подключено сразу несколько экземпляров отладчика. Сброс завершит их работу. Дополнительные сведения см. в статье Проверка конфигурации IIS.
Время ожидания операции
- Выполните сброс IIS и повторите запуск отладки. К процессу IIS может быть подключено сразу несколько экземпляров отладчика. Сброс завершит их работу. Дополнительные сведения см. в статье Проверка конфигурации IIS.
Вероятно, монитор удаленной отладки Microsoft Visual Studio (msvsmon.exe) не запущен на удаленном компьютере
- Если отладка выполняется на удаленном компьютере, убедитесь, что у вас установлен и выполняется удаленный отладчик. Если в сообщении упоминается брандмауэр, убедитесь, что соответствующие порты в брандмауэре открыты, особенно если используется сторонний брандмауэр.
- Если вы используете файл HOSTS, убедитесь, что он настроен правильно. Например, если отладка запускается нажатием клавиши F5 (а не с помощью команды Подключить к процессу), в файле HOSTS должен быть указан тот же URL-адрес проекта, что и в свойствах проекта (Свойства > Интернет > Серверы или Свойства > Отладка в зависимости от типа проекта).
Удаленный сервер вернул ошибку
Проверьте, не содержит ли файл журнала IIS подкоды ошибок и дополнительные сведения, и изучите эту запись блога IIS 7.
Некоторые распространенные коды ошибок и рекомендации также приводятся ниже.
- (403) Forbidden (Удаленный сервер вернул ошибку: 403 — запрещено). Эта ошибка может возникать по разным причинам, поэтому проверьте файл журнала и параметры безопасности IIS для веб-сайта. Убедитесь, что файл сервера
web.config
включаетсяdebug=true
в элемент компиляции. Убедитесь, что папка веб-приложения имеет необходимые разрешения, а конфигурация пула приложений верна (возможно, изменился пароль). См. раздел Проверка конфигурации IIS. Если эти параметры верны, и отладка выполняется локально, также убедитесь, что вы подключаетесь к серверу правильного типа и по верному URL-адресу (в разделе Свойства > Интернет > Серверы или Свойства > Отладка в зависимости от типа проекта). - (503) Сервер недоступен. Возможно, пул приложений остановился из-за ошибки или изменения конфигурации. Перезапустите пул приложений.
- (404) Не найдено. Убедитесь, что для пула приложений задана верная версия ASP.NET.
Не удалось запустить отладку ASP.NET
- Перезапустите пул приложений и выполните сброс IIS. Дополнительные сведения см. в статье Проверка конфигурации IIS.
- Если вы выполняете перезаписи URL-адресов, проверьте базовый
web.config
файл без перезаписи URL-адресов. См. примечание о модуле переопределения URL-адресов в разделе Проверка конфигурации IIS.
Отладчику не удалось подключиться к удаленному компьютеру
Если выполняется локальная отладка, откройте свойства проекта в Visual Studio и убедитесь, что в настройках проект указан правильный веб-сервер и URL-адрес для подключения. (Откройте Свойства > Интернет > Серверы или Свойства > Отладка в зависимости от типа проекта.)
Эта ошибка может возникать при локальной отладке в 32-разрядной версии Visual Studio, в которой для отладки 64-разрядных приложений используется 64-разрядная версия удаленного отладчика. Visual Studio 2019 и более ранних версий — это 32-разрядные приложения. Проверьте пул приложений в IIS и убедитесь, что параметр Включать 32-разрядные приложения имеет значение true
, выполните сброс IIS и запустите отладку еще раз.
Также, если вы используете файл HOSTS, убедитесь, что он настроен правильно. Например, в файле HOSTS должен быть указан тот же URL-адрес проекта, что и в свойствах проекта (Свойства > Интернет > Серверы или Свойства > Отладка в зависимости от типа проекта).
Сведения об общих ошибках конфигурации см. в справке. Дополнительные сведения могут быть получены при выполнении веб-страницы вне отладчика.
Вы запускаете Visual Studio и веб-сервер на одном компьютере? Откройте свойства проекта и убедитесь, что в настройках проекта указан правильный веб-сервер и URL-адрес запуска. (Откройте Свойства > Интернет > Серверы или Свойства > Отладка в зависимости от типа проекта.)
Если это не поможет или отладка выполняется удаленно, выполните действия, описанные в разделе Проверка конфигурации IIS.
Операция не поддерживается. Неизвестная ошибка: номер ошибки
Если вы выполняете перезаписи URL-адресов, проверьте базовый web.config
файл без перезаписи URL-адресов. См. примечание о модуле переопределения URL-адресов в разделе Проверка конфигурации IIS.
Проверка конфигурации IIS
Прежде чем запускать отладку повторно после выполнения описанных здесь шагов по решению проблемы, возможно, придется также выполнить сброс IIS. Для этого в командной строке с повышенными привилегиями введите команду iisreset
.
Остановите и перезапустите пулы приложений IIS, а затем попробуйте еще раз.
Возможно, пул приложений остановился в результате ошибки. Кроме того, остановка и перезапуск пула приложений могут потребоваться из-за другого изменения, внесенного вами в конфигурацию.
Примечание.
Если пул приложений останавливается, может потребоваться удалить модуль перезаписи URL-адресов из панель управления, а затем переустановить модуль. Эта проблема может возникать после значительного обновления системы.
Проверьте конфигурацию пула приложений, исправьте ее при необходимости и попробуйте еще раз.
Пул приложений может быть настроен для версии ASP.NET, которая не соответствует проекту Visual Studio. Обновите версию ASP.NET в пуле приложений и перезапустите его. Дополнительные сведения см. в разделе IIS 8.0 — использование ASP.NET 3.5 и ASP.NET 4.5.
Кроме того, если учетные данные изменились, возможно, нужно обновить их в пуле приложений или на веб-сайте. В пуле приложений обновите учетные данные в разделе Дополнительные параметры > Модель процессов > Удостоверение. Для обновления учетных данных на веб-сайте выберите Основные параметры > Подключиться как.... Перезапустите пул приложений.
Убедитесь, что папка веб-приложения имеет нужные разрешения.
Убедитесь, что вы предоставили IIS_IUSRS, IUSR или пользователю, связанному с пулом приложений, права на чтение и выполнение файлов в папке веб-приложения. Устраните проблему и перезапустите пул приложений.
Убедитесь, что в IIS установлена правильная версия ASP.NET.
Описанная проблема может быть вызвана несовпадением версий ASP.NET в IIS и в проекте Visual Studio. Возможно, вам потребуется задать версию платформы в web.config. Чтобы установить ASP.NET Core в IIS, см. статью "Установка ASP.NET Core" на Windows Server или ASP.NET установка ASP.NET на Windows Server. Также см. инструкции по использованию IIS 8.0 с ASP.NET 3.5 и ASP.NET 4.5 или (для ASP.NET Core) размещению в Windows с IIS.
Устраните ошибки проверки подлинности, если используется только IP-адрес
По умолчанию предполагается, что IP-адреса являются частью Интернет-зоны, и проверка подлинности NTLM для них не выполняется. Если настройки веб-сайта в IIS требуют обязательной проверки подлинности, проверка подлинности завершается ошибкой. Чтобы решить эту проблему, укажите вместо IP-адреса имя удаленного компьютера.
Другие причины
Если проблема не в конфигурации IIS, попробуйте выполнить следующие действия.
Перезапустите Visual Studio с правами администратора и попробуйте еще раз.
Для некоторых сценариев отладки ASP.NET требуются повышенные привилегии для Visual Studio.
Если выполняются сразу несколько экземпляров Visual Studio, откройте проект в другом экземпляре Visual Studio (с правами администратора) и попробуйте еще раз.
Если вы используете файл HOSTS с локальными адресами, попробуйте использовать вместо IP-адреса компьютера петлевой адрес.
Если вы не используете локальные адреса, убедитесь, что в файле HOSTS указан тот же URL-адрес проекта, что и в свойствах проекта (Свойства > Интернет > Серверы или Свойства > Отладка в зависимости от типа проекта).
Дополнительные действия по устранению неполадок
Откройте страницу
localhost
в браузере на сервере.Если службы IIS не установлены правильно, должны отобразиться ошибки при вводе
http://localhost
в браузере.Дополнительные сведения о развертывании в IIS см. в разделах IIS 8.0 — использование ASP.NET 3.5 и ASP.NET 4.5 и Размещение в Windows с помощью IIS (для ASP.NET Core).
Создайте базовое приложение ASP.NET на сервере (или используйте базовый
web.config
файл).Если добиться работы приложения с отладчиком не удается, попробуйте создать простое локальное приложение ASP.NET на сервере и выполнить отладку этого простого приложения. (Может потребоваться использовать шаблон MVC по умолчанию ASP.NET MVC.) Если вы можете отлаживать базовое приложение, это может помочь определить, что отличается от двух конфигураций. Найдите различия в параметрах в
web.config
файле, например правила перезаписи URL-адресов.