Подтвердить что ты не робот

Почему я не могу отлаживать свой веб-сайт ASP.NET в Visual Studio?

Раньше я мог подключаться к моему процессу w3wp и отлаживать свое веб-приложение, но это больше не работает. Я понятия не имею, что изменилось, чтобы сломать это. Я использую Visual Studio 2008 SP1. И я отлаживаю в IIS, не используя собственный сервер ASP.NET(т.е. Я не запускаю свой проект, я просто присоединяюсь к запущенному процессу (w3wp).

Мои точки останова просто имеют "точку останова в настоящее время не будут удалены. Исходный код отличается от исходной версии".

Что я пробовал:

  • Было ли решение "Чистым".
  • Реконструировано решение.
  • Убедитесь, что компиляция debug = true в моем файле web.config.
  • Удалена папка bin
  • Перезагрузка Visual Studio
  • Перезапуск IIS
  • Перезагрузите компьютер.
  • Добавлен простой файл Response.Write для обеспечения использования последней библиотеки DLL. Это.
  • Убедитесь, что Debug ASP.NET проверен в свойствах моего проекта. Это.
  • Убедитесь, что все мои проекты скомпилированы в моей конфигурации сборки. Они.

Но ничто из этого не помогает. Я прикрепляю к w3wp, но мои точки останова никогда не попадают.

Любые идеи?

4b9b3361

Ответ 1

У меня была эта проблема в последнее время, и я в конечном итоге убедился, что Visual Studio вообще не работает в системе.

Затем перешел в эту папку и удалил все содержимое:

C:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\

Ответ 2

Проверьте свой web.config на

<compilation debug="true">...

Ответ 3

Когда вы "присоединяетесь к процессу", окно "Вывод" должно показать вам (при отображении вывода "Отладка" ) все загружаемые библиотеки и где они загружаются из них - для библиотеки dll в папке /bin это обычно скопированы в папку \Temporary ASP.NET Files\root\ - где вы читаете? Вы определенно очистили их оттуда?

Единственное, что я могу придумать:

  • Вы откомпилировали свой код в режиме "Release", а не "Debug" (не web.config) из раскрывающегося списка "Конфигурация решения".
  • Файлы символов (.pdb) отсутствуют в папке /bin.

На вкладке "Build" свойств проекта вы находитесь в конфигурации "Active (Debug)", вы не проверяете "оптимизировать код"?

Если вы нажмете "Дополнительно..." на этой вкладке, какое значение у вас есть для "Debug Info"? Это "полный" или "нет"?

Ответ на комментарий

Вам будет сложнее успешно отлаживать, если ваш код скомпилирован в режиме "Release", и вы часто получаете сообщение "исходный код отличается", когда вы не перестраиваете символы (файлы .pdb) после изменений - но вы говорите, что вы сделали чистую/перестроенную, чтобы это было покрыто.

Да, в вашем окне вывода будут отображаться все DLL-структуры, на которые вы ссылаетесь, а также на ваш код. Но вы должны увидеть один файл, указанный там, с названием каждого выходного документа - те, на которые нужно смотреть.

У вас нет какого-либо события пост-сборки, которое перемещает файлы в правильный каталог для вашего сайта, вы тихо проваляетесь?

Ответ 4

У меня также была эта проблема, она была решена путем изменения типа кода "Прикрепить к" на "Автоматически" в диалоговом окне "Прикрепить к процессу". (Раньше у меня был этот набор в "Silverlight Code" из-за отладки другого процесса... его легко забыть изменить это.)

Ответ 5

Я знаю, что эта проблема была открыта в течение некоторого времени, но я думаю, что это то же самое, что я испытал:

Я не смог отладить мой код на стороне сервера .aspx. У меня был рабочий проект WEPApp AnyCPU, и я хотел связать его с некоторыми dll x86, поэтому я создал цель отладки x86. Удалили похожие вещи, перестроили, остановили веб-сервер разработки, перезагрузили, очистили временные файлы, все безрезультатно.

Исправлена ​​проблема с изменением целевой папки на bin\(был bin\x86\Debug).

Ответ 6

в диалоговом окне "Прикрепить к процессу" установите флажок (рядом с нижним) для "показать процессы от всех пользователей", и если вы видите два процесса w3wp.exe, попробуйте другой.

У кого-то должно быть значение комментария/описания чего-то вроде T-SQL, которое управляется чем-то другим. Это тот, который вы хотите.

Ответ 7

У вас есть какие-либо дополнения, которые могут повлиять на это? Или какие-либо инструменты, которые применяют операции пост-сборки к исходному коду, которые DLL, с которых вы начали отлаживать, были модифицированы после сборки, и на самом деле правильно, что это не тот же исходный код, поэтому отладка не будет работать?

Также попытались сбросить VS?

devenv.exe /resetsettings

Изменить:, если ни одна из информации не помогла вам здесь, хотя это было бы болезненно, возможно, стоит удалить и переустановить VS и SP1. Если вы пройдете через это, и проблема будет такой же, как и раньше, это по крайней мере гарантирует, что проблема заключается в настройке web.config или в проекте.

Ответ 8

Вы проверили файл assembly.cs с этим атрибутом

[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.Default)]

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

Ответ 9

Я столкнулся с той же проблемой. Процесс w3wp занял много памяти и не хотел быть reset при публикации веб-приложений.

Нажмите Ctrl + Alt + Delete > Перейдите на вкладку "Процессы" > найдите процесс w3wp и убей это. Запустите приложение еще раз (если это приложение mvc, просто перейдите к связанный с URL, чтобы автоматически воссоздать процесс w3wp).

После этого исчезнут предупреждения.

Ответ 10

У меня была эта проблема некоторое время и я нашел свое решение на форуме MS (ссылка ниже). Инструмент Debug Diagnostic был для меня виновником, но мне не пришлось его удалять. У меня было правило сбоя, настроенное для процесса w3wp, и я просто удалил это правило и перезапустил все.

Microsoft Forum для Невозможно подключить ошибку

Ответ 11

В OpenVMS мы просто использовали:

Компиляция/отладка, затем связь/отладка

и все! Simples!!

но серьезно, убедитесь, что у файла у вас есть строка Debugger.Break, в "Свойствах" всегда есть "Копировать всегда", прежде чем перестраивать

Ответ 12

Я использовал расширение Visual Studio VSCommands для прикрепления отладчика (удобно). Однако IIS Express работал, и я догадался, что это может помешать. Конечно, когда я закрыл IIS Express, я снова смог снова отладить.

Последовала радость.

Ответ 13

Я выполнил все приведенные ниже опции в обновлении Visual Studio 2013 Update 4.

  • Reset IIS
  • Очистить решение и перестроить
  • Удалить флизы из временной папки C:\Windows\Microsoft.Net\Framework...\Временные файлы ASP.NET
  • Проверьте, отлажен ли тег компиляции или нет

Но никто из них не работал, здесь я перечисляю две вещи, которые сработали для меня.

  • Отключение опции "Только мой код" Инструменты → Параметры → Отладка → Общие → Снимите флажок Включить только мой код.
  • Отредактируйте файл web.config и сохраните (вы всегда можете создать пробел в любой строке в web.config, что будет делать)

Обратите внимание, что это решение может быть специфичным для Visual Studio, и оба исправления работали для меня в моем обновлении Visual Studio 2013 4.