Почему я не могу отлаживать свой веб-сайт 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, но мои точки останова никогда не попадают.
Любые идеи?
Ответы
Ответ 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.