Я работаю с решением ASP.NET в Visual Studio 2013, которое не ударяет по точкам останова. Visual Studio успешно ударит точки останова на других решениях, а точки останова в этом решении ранее работали. Но в это время они не работают.
Я использую Visual Studio 2013 Ultimate, обновление 4. Это устанавливается на Windows 8.1, 64-разрядный.
Это MVC-решение, которое содержит 3 проекта: BusinessEntities, DataAccessLayer (DAL) и веб-проект. Точки останова во всех этих проектах не работают. Я даже попробовал точку останова внутри Index ActionResult для домашнего контроллера и все еще не смог остановиться в точке останова.
В ленте Visual Studio для конфигурации решения установлено значение Отладка. Кроме того, Configuration Manager показывает, что все 3 из моих проектов имеют конфигурацию, настроенную для Debug. Перезапуск IIS, перезапуск Visual Studio и перезагрузка не помогли решить эту проблему. Выбор сборки > Чистое решение, сборкa > Реконструкция, а затем отладкa > Начать отладку также не исправить.
В web.config отладка в этом node установлена в true:
<system.web>
<compilation debug="true" targetFramework="4.0" />
В каталогах bin моих проектов есть файлы .pdb. Я подтвердил, что они удаляются при очистке решения и воссоздаются при его восстановлении.
Что еще мне нужно проверить? Мне действительно нужно получить контрольные точки, работающие в этом решении. Спасибо.
========
Обновления на 12/30/2014 - Ниже приведены несколько вещей, которые я пробовал, следуя комментариям от @paul.abbott.wa.us. Несколько комментариев, которые я сделал, удалены и просто добавлены здесь для ясности.
========
Я запускаю приложение через VS и запускаю его под IIS. Версия IIS - 8,5. При экспонировании имени процесса (через System.Diagnostics.Process.GetCurrentProcess(). ProcessName), w3wp.
В IIS веб-приложение имеет имя сайта, например "local.mysite", и в файле моих хостов есть соответствующая запись. На сайте используется DefaultAppPool, который использует .NET CLR версии 4.0 и интегрированный управляемый трубопровод. 3 приложения в моем решении нацелены на .NET Framework 4.
Если я переключу его обратно на IIS Express, отладчик начнет работать. Версия IIS меняется на 8.0, и имя процесса, конечно же, iisexpress. Технически мне не нужно запускать это под IIS на моей рабочей станции, но я бы предпочел сделать это. Что я неправильно сконфигурировал или пропустил в IIS, который может объяснить сбой отладчика?
Просмотрев настройки сервера проекта на вкладке "Веб" на странице свойств, я заметил, что раскрывающийся список был установлен в "IIS Express". При переключении на "Local IIS" мне было предложено запустить VS в качестве администратора. После этого я смог изменить сервер на локальный IIS и нажать на отладчик. Я проверил изменения, закрыл VS, запустил VS, не запущенный как Admin, и загрузил решение. Веб-проект не смог загрузить следующее сообщение: Проект веб-приложения [MySiteName] настроен на использование IIS. Не удалось получить доступ к метабазе IIS. У вас недостаточно прав для доступа к веб-сайтам IIS на вашем компьютере.
В конечном итоге в некоторых разделах этого сайта будет использоваться проверка подлинности Active Directory. Итак, это решение, которое мне нужно либо запустить сайт под IIS Express, либо всегда запускать VS в качестве администратора, если я хочу запустить сайт под IIS? Спасибо.
Я нашел решение для получения сообщения об ошибке "Проект веб-приложения [MyApp] настроен на использование IIS. Невозможно получить доступ к метабазе IIS. У вас недостаточно привилегий для доступа к веб-сайтам IIS на вашем компьютере." Следуйте инструкциям на этом посту. Ошибка - невозможно получить доступ к метабазе IIS
После предоставления моей учетной записи доступа к папке intetsrv\config веб-проект правильно загружен в Visual Studio без запуска VS в качестве администратора.
Но теперь, когда я запускаю сайт, появляется другое предупреждение: "Невозможно запустить отладку на веб-сервере. IIS не перечисляет веб-сайт, который соответствует запущенному URL-адресу. Нажмите" Справка "для получения дополнительной информации". Сначала я просто нажал "Создать виртуальный каталог" и запустил его снова, но тот же самый сигнал снова появился.
Итак, я выбрал кнопку "Справка" из предупреждения. Это приводит к этой странице MSDN, в которой предлагается около 2 дюжин вещей для проверки, причем примерно половина ссылок на другие статьи. Сейчас я чувствую себя немного как Алиса в Стране Чудес, направляясь дальше по кроличьей норе.
Обновление2/3/2015: Мое обходное решение при запуске на локальном экземпляре IIS состояло в том, чтобы запустить Visual Studio в качестве администратора. В конечном счете, мы изменили приложение на использование IIS Express, а затем отказались от приложения для другого решения, которое построил коллега. Это решение не имело никакого отношения к этой проблеме. Спасибо всем за ваши отзывы и идеи.
3/7/2016 Обновление: на этот раз я не могу повторить эту проблему, так как у нас больше нет решения в штате, где было, когда я работал над этим в прошлом году. Буду признателен, если модератор может закрыть этот вопрос. Варианты закрытия этого не совпадают с моим текущим сценарием, но, возможно, кто-то еще найдет предложения ниже полезными, если они столкнутся с этим сценарием. Спасибо всем, кто внес предложение.