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


92

Я запускаю 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, створити веб-сайт і почати його тестувати?

Заздалегідь спасибі.


1
Просто щоб було зрозуміло, коли ви запустили Visual studio, ви клацнули правою кнопкою миші та обрали опцію Запустити адміністратора?
Аарон Карлсон

Ви ще перевірили це посилання? msdn.microsoft.com/en-us/library/dwesw3ee.aspx
Аарон Карлсон

@Aaron, Так, у мене фактично встановлено VS для роботи в якості адміністратора.
Dan C

@Aaron, я явно перейшов цю сторінку та її дітей, перш ніж розміщувати тут, і нічого не виділялось, що мені потрібно було зробити. Моя система відповідає вимогам і налагоджено налагодження для сайту. У мене немає Windows Server 2003, тому там не робиться налаштування IIS. Я не торкався жодних налаштувань безпеки ні за що, оскільки я не знаю, чи потрібно це робити.
Dan C

Не впевнений, чи це допомагає, але я спробував створити новий тестовий веб-сайт ASP.NET 3.5 у VS 2010, додав його до IIS 7 без особливих конфігурацій і зміг його налагодити. Щось із моїм головним додатком із тим, як він налаштований у VS, IIS чи, можливо, навіть у файловій системі. Просто не впевнений, з чого почати шукати.
Dan C

Відповіді:


239

Спробуйте перейти до IIS та перевірте, чи не запускається пул додатків, який ви використовуєте. Ви багато разів випустите помилку, яка закриває пул додатків. Вам просто потрібно клацнути правою кнопкою миші та кнопку "Пуск", і ви повинні бути хорошими.


Дякую, бажаю, що я знайшов це повідомлення у п’ятницю! басейн зупинився, і я зіткнувся з першою помилкою
Крістофер Кабезудо Родрігес

У моєму випадку я повинен був дозволити ASP.NET v4.0.30319 в обмеженнях ISAPI та CGI
Аді

15
+1 Неправильне ім'я користувача / пароль, які використовуються для автентифікації пулу додатків.
P.Brian.Mackey

3
У моєму випадку пул вже був запущений, але після зупинки та запуску його знову працював.
Serj Sagan

1
Дякую. Це рішення спрацювало для мене чудово. Мені довелося перезапустити пул додатків додатково.
Суніль

44

Виявляється, винуватцем був модуль перезапису URL-адреси IIS . Я визначив правило, на яке переадресовували дзвінки Default.aspx (яке було встановлено як початкову сторінку веб-сайту ) до кореня сайту, щоб я міг мати канонічну домашню URL-адресу. Однак, мабуть, у В. С. була проблема з цим і заплуталася. Ця проблема не сталася, коли я використовував Helicon ISAPI_Rewrite, тому мені навіть не спало на думку перевірити.

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


6
Так, але ви повинні бути впевнені, що працює пул додатків, також ваш портал.
Молодший Мейхе

У цій замітці моя проблема знаходилась у web.config у розділі: <applicationInitialization remapManagedRequestsTo = "/ App / splash.html" doAppInitAfterRestart = "true" lockAttributes = ""> <додати ініціалізаціюPage = "App / index.html" hostName = " CSI "lockItem =" true "/> </applicationInitialization>. Я використовував це, щоб показати екран заставки, коли програма ініціювалась.
Нік

6
Це було для мене. Правило перезаписи для надсилання всього трафіку HTTP на HTTPS спричиняло цю потворну помилку. Я не міг знайти жодного способу зберегти правило на місці налагодження.
Кет-

Просто хотів додати, що для мене це було схоже, але переписати SSL ми мали на увазі, що наш пусковий шлях був localhost / ім'я програми, але оскільки перенаправлення надіслало вас до localhost / appname, це призвело до помилки VS, оскільки він не може впоратися з переадресацією .. . Зайняв у нас годину +, щоб знайти цю проблему, коли під час тестування в IIS локально все працювало чудово! ..
Ліам Уолддон

Тут же проблема (модуль перезапису URL-адреси IIS). Я вирішую це, перемістивши свої правила до своїх Web.Release.config. Див weblogs.asp.net/srkirkland / ... і stackoverflow.com/questions/11032868 / ... .
Swisher Sweet

42

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>

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


1
На жаль, це не працювало особисто для мене, проте я можу перевірити, що це певна проблема переписування, оскільки я прокоментував розділ переписати web.config, і я можу працювати без проблем.
Метт

Ви можете спробувати рішення тут: stackoverflow.com/a/30813200/375303 . Працює як шарм для мене.
jerhewet

Visual Studio буде реєструвати помилки, пов’язані з DebugAttach.aspx, тут:% UserProfile% \ AppData \ Local \ Temp \ Visual Studio Web Debugger.log (Якщо у вас немає цього файлу - або якщо це старий файл - тоді ваша проблема напевно не пов’язаний з DebugAttach.aspx.)
Брендон S

У моєму випадку першопричина правильна, але не рішення. Для мене це спрацювало: <location path="debugattach.aspx"> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"> <clear /> </httpErrors> </system.webServer> </location>
Тасос К.

для мене проблема була через "/debugattach.aspx", але рішення erroMode також змінювало на "DetailedLocalOnly".
Наше

30

На користь інших, у моєму випадку я сконфігурував пул додатків для використання своїх облікових даних Windows для доступу до спільної мережі ресурсів. З моменту налагодження рішення останнім часом я скинув пароль Windows. Змінено пароль, що зберігається в пулі додатків і bada bing.


Дякую за це, я навіть не користувався мережевою часткою, але це спрацювало чудово.
Марісса

21

Якщо для параметра Identity ApplicationPool встановлено спеціальний обліковий запис і пароль комп'ютера змінено, вам доведеться оновити свій пароль


Так, у вас виникли проблеми, випробували пару відповідей звідси безрезультатно, ваша відповідь - це те, що мені справді допомогло!
Вадим Савенок

19

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

<httpErrors mode="Custom"> 

викликало проблему "Неможливо почати налагодження на веб-сервері". Повернення його до попереднього значення "DetailedLocalOnly" виправило проблему. Копаючи трохи глибше, я виявив, що саме ця настройка помилки 401 була причиною цього:

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

Коментуючи рядок помилок 401, виправили цю проблему, і я пішов з цим, оскільки потім можу підтримувати власну обробку помилок і починати з налагодження.

Я досі не маю уявлення, чому це відбувається.


З тією ж причиною для мене було те, що я був свідком 401 відповідей у ​​своїх журналах при спробі почати налагодження, і дезактивація моєї обробки помилок за замовчуванням вирішила для мене проблему "проти не можу налагоджувати сайт". Я не розумію, чому 401 трапляється навіть на моїй сторінці входу, коли і тільки при запуску налагодження з vs, тоді як лише анонімний доступ і веб-форма автентичності. активовані.
Фредерік

Це було виправленням і для мене, лише у мене встановлено шлях помилки за замовчуванням, замість того, щоб явно визначати його для 401.
вт

Це працювало для мене (я тимчасово щойно видалив весь розділ httpsrovers). Те, що я раніше намагався не спрацювати, - це перезапуск пулу додатків та видалення правил перезапису URL-адрес.
Ніколас Вестбі

Це те, що працювало для мене. то я змінив власну помилку, як @Pablo Romeo писав у цій відповіді: stackoverflow.com/a/13905859/4489664
Бондарюк Володимир

2
Змінення erroMode на "DetailedLocalOnly" вирішено і для мене. Налагоджувач намагався відкрити "/DebugAttach.aspx", завдяки чому він перейшов на сторінку користувацьких помилок, яку він не міг запустити в даний момент часу.
Наше

13

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


4
Це те саме, що відповідь №1, яка була запропонована місяцем раніше.
mac10688

Гаразд, це так, але чому він щоразу зупиняється?
Фернандо Торрес

Мій пул додатків працював на користувача, який змінив пароль.
Андерсон

11

У цій же проблемі була спроба налагодити модуль DNN (Dot Net Nuke). Виявилося, ви повинні мати налагодження компіляції = "true":

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

у вашому web.config. За замовчуванням це неправда в DNN. Оригінальне джерело тут: http://www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts


Дякую!! Я виривав волосся цілий день, і виправити це було так просто. Якби тільки VS міг дати змістовне повідомлення про помилку!
колінкамерон

8

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

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

Потім видаляю коментарі після налагодження.

Повинно бути помилкою у візуальній студії 2010 року.


1
Щоправда, це обхідне рішення, але неякісне, тому що дійсно легко забути видалити коментарі, подібні до цього, перед тим, як зробити або опублікувати сайт.
Джон Адамс

1
Ви можете перемістити ці рядки у веб-конфігураційному файлі web.config.release, тому коли ви опублікуєте, це буде лише у опублікованій версії. Це я і зробив.
Шалке

Можливо, просто виключити /debugattach.aspx це робить. Подивіться коментар Пітера
Монкса

6

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


Вирішив і моє питання! Я з’ясував, що мій DefaultAppPool зупинився. Дякуємо, що поділилися цим. Я не можу зрозуміти, чому це зупинилося.
Джоберт Енамно

5

Ось що я зробив, щоб очистити зазначену вами помилку. Знайдіть веб-папку програми у файловій системі, перейдіть до Властивості => Захист, натисніть кнопку Додатково, потім перейдіть на вкладку Власник , натисніть кнопку Редагувати та змініть власника (з правильними дозволами) папки та встановіть прапорець " Repalce власник на підконтейнери та об'єкти ". Клацніть « Застосувати », і тоді я займався бізнесом (міг налагоджувати).

Сподіваюся, це працює для когось іншого.


2
Змінити власника на кого?
занедбано

5

Щойно нарешті виправили це для свого єдиного рішення, яке мало це. Два проекти в рішенні були розміщені як сайти в IIS. Я ввійшов і ввімкнув себе під назвою ASP.Net, видавши себе за автентифікацію для обох проектів ... та VIOLA! НАСАЛЬНО, більше немає цієї прикрої помилки!


3

Я отримував те саме повідомлення про помилку в VS 2012, але не працював як Адміністратор. Коли я запустив додаток як адміністратор, я отримав інше і трохи корисніше повідомлення (яке я зміг зрозуміти). HTH


3

Якщо App Pool має проблеми з перезавантаженням або просто не хоче перезапустити, переконайтесь, що Windows оновила нещодавнє оновлення на ASP.NET v4.0 або іншому пулі додатків. Це те, що відбувається в моєму випадку. Я просто перезапустив комп’ютер, потім перезапустив ASP.NET v4.0 App Pool і все знову працювало!


2

Ден,

Окрім пропозицій Аарона, спробуйте наступне

  • Переконайтеся, що на вашому веб-сайті IIS вибрано інтегровану автентифікацію Windows
  • Чи можете ви налагодити використання Cassini замість IIS?

Я дотримувався вказівок, щоб увімкнути інтегровану автентифікацію Windows: msdn.microsoft.com/en-us/library/x8a5axew.aspx, однак у мене все ще є та сама помилка (менеджер iis показує попередження, що я не можу використовувати як автентифікацію на основі викликів, так і входу. - мій сайт використовує автентифікацію форм). Я можу налагоджувати сайт за допомогою веб-сервера, вбудованого у VS 2010, але в ньому відсутні функції.
Dan C

Чи спробували ви створити новий веб-сайт в IIS і розгорнути там свій код? З цікавості, яких функцій ви б не бракували, якби ви налагодили в Кассіні? Наскільки мені відомо, Cassini підтримує автентифікацію форм.
Кефі

Що ви маєте на увазі під "створенням нового веб-сайту в IIS"? Це новий комп’ютер з новою установкою ОС, VS2010, IIS. Я створив нову програму в IIS і вказав її на фактичну папку веб-сайту (отриману з резервної копії). Перезапис URL-адрес, здається, не працює повністю у Кассіні. Також ми використовуємо спеціальний модуль для автоматичного переключення між http та https ( codeproject.com/KB/web-security/WebPageSecurity_v2.aspx ).
Dan C

Кассіні не підтримує модуль Url Rewrite 2
citronas

2

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

І рішення просте

  • Редагувати файл хостів у %SystemRoot%\System32\drivers\etc\

  • Додати рядок із прив’язкою ip: 127.0.0.1 MySite.local


Це був дорогоцінний камінь для мене, повністю забув про налаштування мого хост-файлу і цікавився, чому мій apis не працює, коли я перейшов на місцевий iis (для https). VS працював лише з одним сайтом, що працює на ньому, але як тільки я додав другий, я вже не міг налагоджувати, це вирішило це.
CDerrig

1

У мене ця помилка виникла сьогодні через дефект коду, який надсилав величезну кількість разів назад, через що IIS заповнювались запитами. Це по суті заблокувало IIS, і тому, коли я намагався налагодити, він "вичерпався", намагаючись запустити налагоджувач. Я просто перезапустив IIS, що зайняло кілька хвилин, і це вирішило проблему.

Я впевнений, що бажаю, щоб ця помилка була менш загальною, схоже, існує кілька різних способів її виправити.


1

У мене була однакова проблема в Visual Studio 2012 та 2013 на Windows 8.1. Для мене виправленням було додати автентифікацію Windows до IIS за допомогою "Увімкнення та вимкнення функцій Windows"

Увімкніть або вимкніть функції екрана екрана


1

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


1

Перевірте, чи ваш веб-сайт на IIS не зупиняється.

Я виправив це, щоб мій веб-сайт запустився. : D


1

У мене була ця проблема і врешті-решт зрозумів, що я ASP.net не зареєстрований належним чином у IIS. Це може статися, коли сервер IIS встановлений перед Visual Studio. Щоб виправити цю проблему, використовуйте команду aspnet_regiis -i Детальну інформацію можна знайти за посиланням


1

мали те саме питання. Якщо у вас на сервері IIS встановлено сертифікат SSL і ви намагаєтеся налагодити його від Visual Studio, вам потрібно встановити свою програму на IIS, щоб ігнорувати сертифікат.


1

У мене була та сама проблема, і я виявив, що це викликано, тому що у мене був помилково введений символ у моєму Web.configкінцевому тезі. Мій Web.configвиглядало як це право в кінці: </section>h. Після завершального тегу "h" був додатковим символом.


0

видаліть жало так: targetFramework = "4.0" в web.config або змініть AppPool на відповідну версію рамки.


0

Видалення розширення IIS UrlScan вирішило проблему для мене.


0

Я зіткнувся з тією ж проблемою, але це було на власному сервері веб-розробки Visual studios, а не на IIS. Обхід полягає в тому, щоб зняти прапорець на вкладці Веб у розділі властивостей проекту, Застосувати параметри сервера до всіх користувачів (зберігати у файлі проекту.) це заощадить чийсь цінний час.


0

У мене була така ж проблема. Усі відповіді вище для мене не спрацювали. Рішенням було видалити папку bin та obj вручну.


0

Я також знайшов цю проблему, але вона була найбільш схожа на те, що пояснив @Kirk та перезапис URL-адрес.

У моєму випадку хтось перевірив цю зміну у файлі web.config для проекту MVC:

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

Оскільки розширення файлів .aspx не були дозволені на веб-сервері, /debugattach.aspxURL-адресу було відхилено, не дозволяючи налагоджувачу працювати. Як тільки я видалив цю конфігурацію, вона знову працювала.


0

У мене була така ж проблема, коли я створював додаток у Visual Studio, а потім у властивостях створював віртуальний каталог для використання з локальним IIS. Якщо хтось має цю помилку, це тому, що VS створює додаток під неправильним AppPool, тобто під AppPool, який не відповідає вашим потребам.
Якщо це так, перейдіть до менеджера IIS, виберіть додаток, перейдіть до основних налаштувань та змініть AppPool для додатка, і ви готові піти.


0

Я отримав цю саму помилку нещодавно, і в моєму випадку виявилося, що існували повторювані типи MIME. Нещодавно я додав два, які спочатку не відображались у списку. IIS дозволив мені додати їх, і лише тоді, коли я вирішив перевірити типи MIME для сайту ще раз, як частину діагностичного процесу, я також отримав помилку в IIS. Він посилається на дублікати в web.config. Одного разу я повернувся до файлу web.config, я помітив, що був доданий новий розділ, який називається, який включає два нещодавно додані MIME типи. Видалено цей розділ і життя знову добре! Сподіваючись, що це може допомогти іншим, хто не зумів вирішити проблему жодною з інших пропозицій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.