Я использую Visual Studio 2010 (как администратор), IIS 7 в Windows 7 x64. Я могу запустить веб-сайт ASP.NET в IIS 7 без отладки, но когда я нажимаю F5 для его отладки, я получаю:
Невозможно начать отладку на веб-сервере. Не удалось запустить отладку ASP.NET. Дополнительную информацию можно получить, запустив проект без отладки.
К сожалению, справочная ссылка мне не очень помогает и ведет к огромному дереву вещей.
Я проверил следующее:
Требования безопасности - я не припоминаю, чтобы раньше приходилось делать что-то особенное. Рабочий процесс в IIS7 - это w3wp.exe. В нем говорится, что если он работает как ASPNET или NETWORK SERVICE, я должен иметь права администратора для его отладки. Как узнать, нужно ли здесь что-то менять?
Страницы свойств веб-сайта> Параметры запуска> Отладчики> ASP.NET установлен. Использовать настраиваемый сервер настроен на URL-адрес сайта (который отлично работает без отладки).
Отладка включена в
web.config
.Приложение использует ASP.NET 3.5 (в конце концов я хочу перейти на 4.0, но мне нужно кое-что перенести).
Пул приложений: Классификация .NET AppPool (также пробовал DefaultAppPool).
Есть идеи, где я могу проверить дальше?
Разумеется, не так уж сложно установить IIS, VS, создать веб-сайт и начать его тестирование?
Заранее спасибо.
Ответы:
Попробуйте зайти в IIS и проверить, запущен ли пул приложений, который вы используете. Часто возникает ошибка, из-за которой пул приложений завершается. Вам просто нужно щелкнуть правой кнопкой мыши и начать, и все будет в порядке.
источник
Оказывается, виновником был модуль IIS Url Rewrite . Я определил правило, которое перенаправляло вызовы Default.aspx (который был установлен в качестве начальной страницы веб-сайта ) в корень сайта, чтобы я мог иметь канонический домашний URL. Однако, видимо, у VS возникла проблема с этим и она запуталась. Эта проблема не возникала, когда я использовал Helicon ISAPI_Rewrite, поэтому мне даже не приходило в голову проверить.
В итоге я создал совершенно новый веб-сайт с нуля и понемногу портировал проекты / файлы в свое решение и перестраивал свой web.config, пока не узнал об этом! Ну, по крайней мере, теперь у меня есть немного более чистый сайт, использующий .NET 4.0 (пока, надеюсь, я не наткнусь ни на какие стены) - но какая боль!
источник
Web.Release.config
. См. Weblogs.asp.net/srkirkland/… и stackoverflow.com/questions/11032868/… .Visual Studio при запуске (по какой-то причине) попытается получить доступ к URL-адресу:
Если у вас есть правило перезаписи, которое перенаправляет (или иным образом перехватывает), скажем,
.aspx
файлы, в другое место, вы получите эту ошибку. Решение состоит в том, чтобы добавить этот раздел в начало вашегоweb.config
«сек<system.webServer>/<rewrite>/<rules>
раздела:<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true"> <match url="^debugattach\.aspx" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="None" /> </rule>
Это гарантирует, что вы поймаете этот конкретный запрос, ничего не сделаете и, что наиболее важно, остановите выполнение, так что ни одно из ваших правил не будет выполнено. Это надежное решение, поэтому не стесняйтесь сохранять его в своем файле конфигурации для производства.
источник
<location path="debugattach.aspx"> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"> <clear /> </httpErrors> </system.webServer> </location>
В интересах других в моем случае я настроил пул приложений для использования моих учетных данных Windows для доступа к общему ресурсу сети. С момента последней отладки решения я сбросил пароль Windows. Изменен пароль, хранящийся в пуле приложений и bada bing.
источник
Если ApplicationPool Identity настроен на пользовательскую учетную запись и пароль компьютера изменен, вам необходимо обновить свой пароль.
источник
Для моего сценария это были изменения в разделе httpErrors в web.config, установив его следующим образом:
<httpErrors mode="Custom">
вызвал проблему «Невозможно начать отладку на веб-сервере». Возврат к предыдущему значению «DetailLocalOnly» устранил проблему. Копнув немного глубже, я обнаружил, что на самом деле причиной этого была ошибка 401:
<httpErrors mode="Custom"> <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" /> <httpErrors mode="Custom">
Комментируя строку с ошибкой 401, проблема также была устранена, я пошел с этим, поскольку затем я могу поддерживать настраиваемую обработку ошибок и начинать с отладки.
Я до сих пор не понимаю, почему это происходит.
источник
Пожалуйста, проверьте пул приложений. если его остановить. перезапустите его.
источник
Была такая же проблема при отладке модуля DNN (Dot Net Nuke). Оказалось, что нужна компиляция debug = "true":
<compilation debug="true" strict="false" targetFramework="4.0">
в вашем web.config. По умолчанию в DNN это false. Первоисточник здесь: http://www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts
источник
У меня точно такая же проблема после внедрения модуля перезаписи.
Если я удалю записи перезаписи из моего файла web.config, отладка будет работать отлично.
Чтобы обойти это, я просто закомментирую теги перезаписи во время отладки, вот так ...
<rewrite> <rules> <rule name="LowerCaseRule_1" stopProcessing="true"> <match url="[A-Z]" ignoreCase="false" /> <action type="Redirect" url="{ToLower:{URL}}" /> </rule> <rule name="RedirectDefault.aspx_1" stopProcessing="true"> <match url="(.*)default.aspx" /> <action type="Redirect" url="{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite>
Затем я удаляю комментарии после отладки.
Должно быть ошибка в Visual Studio 2010.
источник
Я получил ту же ошибку, так как пул приложений был остановлен в IIS. После запуска пула приложений проблема была решена.
источник
Вот что я сделал, чтобы устранить отмеченную вами ошибку. Найдите веб-папку для приложения в файловой системе, перейдите в « Свойства» => «Безопасность», нажмите кнопку « Дополнительно» , затем перейдите на вкладку « Владелец », нажмите кнопку « Изменить» и измените владельца (с правильными разрешениями) папки и установите флажок « Repalce» владелец субконтейнеров и объектов флажок " ". Нажмите « Применить », и тогда я занялся бизнесом (смог отлаживать).
Надеюсь, это сработает для кого-то другого.
источник
Просто, наконец, исправил это для моего единственного решения, в котором это было. Два проекта в решении были настроены как сайты в IIS. Я вошел и включил олицетворение ASP.Net под аутентификацией для обоих проектов ... и VIOLA! НАКОНЕЦ, больше нет этой досадной ошибки!
источник
Я получал такое же сообщение об ошибке в VS 2012, но не работал с правами администратора. Когда я запустил приложение от имени администратора, я получил другое, немного более полезное сообщение (которое я смог понять). HTH
источник
Если у пула приложений возникли проблемы с перезапуском или он просто не хочет перезапускаться, убедитесь, что Windows выполнила последнее обновление в ASP.NET v4.0 или другом пуле приложений. Вот что случилось в моем случае. Я просто перезапустил свой компьютер, затем перезапустил пул приложений ASP.NET v4.0, и все снова заработало!
источник
Дэн,
В дополнение к предложениям Аарона попробуйте следующее
источник
Была такая же проблема с Windows 10 при включении всех функций Windows IIS. Перешел на Windows 8.1 и снова проблема. Корень находился в названии веб-сайта " http: //MySite.local". » (не связанном с версией ОС).
И решение простое
Отредактируйте файл hosts в
%SystemRoot%\System32\drivers\etc\
Добавляем строку с привязкой ip:
127.0.0.1 MySite.local
источник
Сегодня у меня возникла эта ошибка из-за дефекта в коде, который огромное количество раз отправлял обратно, что приводило к переполнению IIS запросами. Это по существу заблокировало IIS, и поэтому, когда я пытался отладить, он «истек» при попытке запустить отладчик. Я просто перезапустил IIS, что заняло несколько минут, и проблема была решена.
Я действительно хочу, чтобы эта ошибка была менее общей, похоже, есть несколько разных способов ее создания.
источник
У меня была такая же проблема в Visual Studio 2012 и 2013 в Windows 8.1. Для меня исправление заключалось в добавлении проверки подлинности Windows в IIS с помощью функции «Включение или отключение функций Windows».
источник
Убедитесь, что в пуле приложений вашего сайта используется правильная версия платформы . Я получил ошибку «Невозможно начать отладку» на сайте ASP.Net 2005. Он неправильно использовал DefaultAppPool в Windows 7 (который, как мне кажется, использовал .Net Framework 4). Я создал новый пул приложений на основе .Net Framework 2 и назначил его проблемному веб-сайту. После этого отладка прошла нормально.
источник
Проверьте, не остановился ли ваш сайт на IIS.
Я исправил это, и мой веб-сайт заработал. : D
источник
У меня была эта проблема, и в конце концов я понял, что ASP.net не зарегистрирован должным образом в IIS. Это может произойти, если сервер IIS установлен до Visual Studio. Чтобы решить эту проблему, используйте команду aspnet_regiis -i Дополнительную информацию можно найти по ссылке
источник
была такая же проблема. Если у вас установлен сертификат SSL в IIS и вы пытаетесь отладить его из Visual Studio, вам необходимо настроить приложение в IIS на игнорирование сертификата.
источник
У меня была такая же проблема, и я обнаружил, что это было вызвано тем, что у меня был ошибочно введенный символ
Web.config
после конечного тега. МойWeb.config
выглядело как это право в конце:</section>h
. «H» был дополнительным символом после закрывающего тега.источник
удалите sting следующим образом: targetFramework = "4.0" в web.config или измените AppPool на соответствующую версию платформы.
источник
Удаление расширения IIS UrlScan решило для меня проблему.
источник
Я столкнулся с той же проблемой, но она была на собственном сервере веб-разработки Visual Studios, а не на IIS. Чтобы решить эту проблему, снимите флажок на вкладке Web в свойствах проекта, Применить настройки сервера ко всем пользователям (сохранить в файле проекта). Надеюсь. это сэкономит драгоценное время.
источник
У меня такая же проблема. Все ответы выше не помогли мне. Решением было вручную удалить папку bin и obj.
источник
Я тоже обнаружил эту проблему, но она больше всего похожа на то, что объяснил @Kirk, и на перезапись URL.
В моем случае кто-то внес это изменение в файл web.config для проекта MVC:
<system.webServer> <security> <requestFiltering> <fileExtensions> <add fileExtension=".aspx" allowed="false" /> </fileExtensions> </requestFiltering> </security> </system.webServer>
Поскольку на веб-сервере не разрешены расширения файлов .aspx,
/debugattach.aspx
URL-адрес был отклонен, что не позволило запустить отладчик. Как только я удалил эту конфигурацию, она снова заработала.источник
У меня была такая же проблема, когда я создал приложение в Visual Studio, а затем в свойствах создал виртуальный каталог для использования с локальным IIS. Если у кого-то есть эта ошибка, это потому, что VS создает приложение в неправильном AppPool, то есть в AppPool, который не соответствует вашим потребностям.
В этом случае перейдите в диспетчер IIS, выберите приложение, перейдите к основным настройкам и измените пул приложений на приложение, и все готово.
источник
Недавно я получил ту же ошибку, и в моем случае оказалось, что есть повторяющиеся типы MIME. Недавно я добавил два, которых изначально не было в списке. IIS позволил мне добавить их, и только когда я решил снова проверить типы MIME для сайта в рамках своего диагностического процесса, я также получил ошибку в IIS. Он ссылается на дубликаты в web.config. Вернувшись к файлу web.config, я заметил, что был добавлен новый раздел с именем, включающий два недавно добавленных типа MIME. Удалил этот раздел, и жизнь снова стала хорошей! Надеюсь, это поможет другим, кому не удалось решить проблему с помощью других предложений.
источник