Не удается запустить отладку на веб-сервере. Не удалось запустить отладку ASP.NET VS 2010, II7, Win 7 x64

Я запускаю Visual Studio 2010 (как Admin), IIS 7 в Windows 7 x64. Я могу запустить веб-сайт ASP.NET в IIS 7 без отладки просто отлично, но когда я нажимаю F5 для его отладки, я получаю:

Невозможно начать отладку на веб-сервере. Не удалось запустить отладку ASP.NET. Дополнительная информация может быть доступна при запуске проекта без отладки.

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

Я проверил следующее:

  • Требования безопасности - я не помню, чтобы делать что-то особенное раньше. Рабочий процесс в IIS7 - это w3wp.exe. В нем говорится, что если он работает как служба ASPNET или NETWORK, у меня должны быть права администратора для его отладки. Как узнать, нужно ли мне что-то изменить?

  • Страницы свойств веб-сайтa > Параметры запускa > Отладчики > проверяется ASP.NET. Использовать настраиваемый сервер установлен на URL-адрес сайта (который отлично работает без отладки).

  • Отладка включена в web.config.

  • Приложение использует ASP.NET 3.5 (я хочу в конечном итоге перейти к версии 4.0, но у меня есть миграция).

  • Пул приложений: классификация .NET AppPool (также попробовал DefaultAppPool).

Любые идеи, где я могу проверить следующий?

Неужели не так сложно установить IIS, VS, создать веб-сайт и начать его тестирование?

Спасибо заранее.

Ответ 1

Оказывается, что виновником был модуль IIS Url Rewrite. Я определил правило, которое перенаправило вызовы на Default.aspx (который был установлен как стартовая страница веб-сайта) в корневой каталог сайта, чтобы я мог канонический домашний URL. Однако, похоже, у VS возникла проблема с этим и запуталась. Эта проблема не возникала, когда я использовал Helicon ISAPI_Rewrite, поэтому мне даже не приходилось проверять.

Я закончил создание совершенно нового веб-сайта с нуля и портировал проекты/файлы понемногу в мое решение и перестраивал свой web.config, пока не узнал об этом! Ну, по крайней мере, сейчас у меня есть немного более чистый сайт, использующий .NET 4.0 (до сих пор, надеюсь, я не столкнусь с какими-либо стенами), но какая боль!

Ответ 2

Попробуйте перейти в IIS и убедитесь, что запущен пул приложений, который вы используете. Много раз вы создадите ошибку, которая отключит пул приложений. Вам просто нужно щелкнуть правой кнопкой мыши и начать, и вам должно быть хорошо идти.

Ответ 3

Visual Studio, при запуске, попытается (по некоторым причинам) получить доступ к URL-адресу:

/debugattach.aspx

Если у вас есть правило перезаписи, которое перенаправляет (или иным образом ловит), скажем, файлы .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>

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

Ответ 4

В интересах других, в моем случае я настроил пул приложений для использования учетных данных Windows для доступа к ресурсу сетевых ресурсов. Поскольку для отладки последнего решения у меня был reset мой пароль для Windows. Изменен пароль, хранящийся в пуле приложений и bada bing.

Ответ 5

Если для ApplicationPool Identity установлена ​​пользовательская учетная запись и пароль компьютера изменен, вам необходимо обновить свой пароль

Ответ 6

Для моего сценария это были изменения в разделе httpErrors в web.config, установив его так:

<httpErrors mode="Custom"> 

вызвала проблему "Не удалось запустить отладку на веб-сервере". Исправлена ​​проблема с возвратом к предыдущему значению "ПодробноLocalOnly". Копая немного глубже, я обнаружил, что на самом деле это просто ошибка 401, которая вызывала это:

<httpErrors mode="Custom"> 
    <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" />
<httpErrors mode="Custom"> 

Замечание об ошибке 401 также устранило проблему, я пошел с этим, так как теперь я могу поддерживать обработку пользовательских ошибок и начинать с отладки.

Я до сих пор не знаю, почему это происходит.

Ответ 7

Пул приложений для проверки состояния. если он остановлен. перезапустите его.

Ответ 8

Была ли та же проблема, которая пыталась отладить модуль DNN (Dot Net Nuke). Оказалось, что у вас есть компиляция debug = "true":

<compilation debug="true" strict="false" targetFramework="4.0"> 

в вашем web.config. По умолчанию это значение неверно в DNN. Оригинальный источник здесь: http://www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts

Ответ 9

У меня точно такая же проблема после реализации модуля перезаписи.

Если я удалю записи перезаписи из моего файла 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.

Ответ 10

Я получил ту же ошибку, так как пул приложений был остановлен в IIS. После запуска пула приложений проблема была решена.

Ответ 11

Вот что я сделал, чтобы очистить отмеченную вами ошибку. Найдите веб-папку для приложения в файловой системе, перейдите в Свойства = > Безопасность, нажмите кнопку Дополнительно, затем откройте вкладку Владелец, нажмите кнопку Изменить и измените владельца (с правильными разрешениями) папки и отметьте флажок " Освободить владельца на подконтейнерах и объектах". Нажмите " Применить", а затем я был в бизнесе (можно отлаживать).

Надеюсь, это сработает для кого-то другого.

Ответ 12

Просто, наконец, исправил это для моего единственного решения, которое имело это. Два из проектов в решении были установлены как сайты в IIS. Я вошел и включил олицетворение ASP.Net под аутентификацией для обоих проектов... и VIOLA! НАКОНЕЦ, не более этой досадной ошибки!

Ответ 13

Если в пуле приложений возникли проблемы с перезагрузкой или просто не требуется перезагрузка, проверьте, обновили ли окна последнее обновление в ASP.NET v4.0 или другом пуле приложений. Вот что случилось в моем случае. Я просто перезапустил свой компьютер, а затем перезапустил ASP.NET v4.0 App Pool, и все снова работало!

Ответ 14

Я получал то же сообщение об ошибке в VS 2012, но не работал как администратор. Когда я запускал приложение в качестве администратора, у меня появилось другое и немного более полезное сообщение (которое я смог выяснить). НТН

Ответ 15

Dan,

В дополнение к предложениям Aaron, попробуйте следующее

  • Убедитесь, что встроенная проверка подлинности Windows выбрана на вашем веб-сайте IIS.
  • Можете ли вы отлаживать использование Cassini вместо IIS?

Ответ 16

Имела ту же проблему с Windows 10 при включении всех функций окна IIS. Переключился на Windows 8.1 и снова возникла проблема. Корень был в имени веб-сайта http://MySite.local" (не относящийся к версии ОС).

И решение прост

  • Изменить файл hosts в %SystemRoot%\System32\drivers\etc\

  • Добавить строку с привязкой ip: 127.0.0.1 MySite.local

Ответ 17

У меня появилась эта ошибка сегодня из-за дефекта кода, который возвращал огромное количество раз, заставляя IIS заливаться запросами. Это существенно заблокировало IIS и поэтому, когда я пытался отлаживать, он "приурочен", пытаясь запустить отладчик. Я просто перезапустил IIS, который занял несколько минут, и он решил проблему.

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

Ответ 18

У меня была такая же проблема в Visual Studio 2012 и 2013 на Windows 8.1. Для меня исправить было добавление аутентификации Windows в IIS с помощью "Включить или отключить функции Windows"

Turn Windows features on or off screenshot

Ответ 19

Убедитесь, что ваш пул приложений использует правильную версию рамки. Я получил ошибку "Не удалось запустить отладку" на сайте ASP.Net 2005. Было неправильно использовать DefaultAppPool в Windows 7 (который, я полагаю, использовал .Net Framework 4). Я создал новый пул приложений на основе .Net Framework 2 и назначил его на проблемный веб-сайт. После этого отладка работала нормально.

Ответ 20

Проверьте, не остановлен ли ваш сайт в IIS.

Я исправил его, чтобы запустить мой веб-сайт.: D

Ответ 21

У меня была такая же проблема, и я обнаружил, что это было вызвано тем, что у меня был символ, ошибочно введенный в мой Web.config после тега end. Мой Web.config выглядел следующим образом: </section>h. "H" был дополнительным символом после закрывающего тега.

Ответ 22

У меня была эта проблема, и в итоге я понял, что ASP.NET не зарегистрирован должным образом в IIS. Это может произойти, когда сервер IIS установлен перед Visual Studio. Чтобы устранить эту проблему, используйте команду aspnet_regiis -i Дополнительную информацию можно найти в ссылке

Ответ 23

была та же проблема. Если у вас есть сертификат SSL, установленный в IIS, и если вы пытаетесь отладить его из Visual Studio, вам нужно настроить приложение на IIS, чтобы игнорировать сертификат.

Ответ 24

удалите sting следующим образом: targetFramework = "4.0" в web.config или измените AppPool на соответствующую версию фреймворка.

Ответ 25

Удаление IIS UrlScan Extension решило проблему для меня.

Ответ 26

У меня возникла такая же проблема, но на сервере разработки Visual Studios вместо IIS. Чтобы обойти эту опцию на вкладке "Веб" в свойствах проекта, "Применить параметры сервера" всем пользователям (сохранить в файле проекта.). Надеюсь, это сэкономит некоторое ценное время.

Ответ 27

У меня была та же проблема. Все ответы выше не работали для меня. Решение заключалось в том, чтобы вручную удалить папку bin и obj.

Ответ 28

Я тоже нашел эту проблему, но это было похоже на то, что объяснил @Kirk и переписывание URL.

В моем случае кто-то проверил это изменение в файле web.config для проекта MVC:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".aspx" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

Поскольку на веб-сервере не было разрешено расширение файла .aspx, был отклонен URL /debugattach.aspx, что предотвращает запуск отладчика. Как только я удалил эту конфигурацию, он снова работал.

Ответ 29

У меня была та же проблема, когда я создал приложение в Visual Studio, а затем в свойствах созданный виртуальный каталог для использования с локальными IIS. Если у кого-то есть эта ошибка, это связано с тем, что VS создает приложение под неправильным AppPool, то есть под AppPool, которое не соответствует вашим потребностям.
Если это так, перейдите в диспетчер IIS, выберите "Приложение", "Перейдите в" Основные настройки "и измените AppPool для приложения, и вам хорошо идти.

Ответ 30

Недавно я получил ту же ошибку, и в моем случае оказалось, что существуют дублированные типы MIME. Недавно я добавил два, которые изначально не отображались в списке. IIS позволил мне добавить их, и только тогда, когда я решил снова проверить типы MIME для сайта, как часть моего диагностического процесса, я также получил ошибку в IIS. Он ссылался на дубликаты в web.config. Как только я вернулся в файл web.config, я заметил, что добавлен новый раздел, который включает два недавно добавленных MIME-типа. Удалил этот раздел, и жизнь снова хороша! Надеясь, что это может помочь другим, кто не смог решить проблему с помощью каких-либо других предложений.