c# - установлены - В настоящий момент точка останова не будет удалена. Для этого документа в приложении Silverlight не были загружены никакие символы




точки останова установлены но еще не привязаны (20)

Хорошо, что у меня есть:

Visual Studio 2010 RC, W7 x64, запустил новый тип проекта приложения Silverlight. Хостинг приложения Silverlight в проекте веб-приложения ASP.NET. Silverlight версии 3.0. Добавлен класс LinqToSQL, WCF-сервис, приложение для тестирования Winform (проект в решении) и несколько классов (также как проекты в решении).

Вчера неожиданно я получил «Точка останова в настоящий момент не попадает. Для этого документа не были загружены никакие символы. ' сообщение появится в среде IDE, но оно влияет только на веб-приложение, я могу отлаживать Silverlight и приложение Winform.

Что я пытался / сделал, чтобы избавиться от сообщения:

  • Сбросить настройки Visual Studio
  • удалены все файлы в каждой папке \ Temporary ASP.NET Files (есть один для каждого 32-битного / 64-битного и для Framework 2.0 и 4.0)
  • пытался отлаживать с помощью встроенного веб-сервера Visual Studio - обычно я использую IIS, в проекте вывода решения я удалял все папки obj и bin в каждой папке проекта
  • создал новое решение и добавил все проекты в это новое решение
  • удалил файл suo
  • создал новое веб-приложение ASP.NET для проверки, является ли это проблемой VS-установки => Я могу отладить этот новый проект / решение
  • перезагрузили машину несколько раз
  • отремонтирована установка vs.net
  • сделал IISReset
  • удалил веб-приложение из IIS
  • использовала кнопку Создать виртуальную директорию в разделе «Свойства проекта» веб-приложения для создания нового веб-приложения в IIS
  • изменила версию Framework для каждого проекта с 3.5 до 4.0
  • Открыл решение на моей второй машине => такое же поведение
  • обход Microsoft Connect для ошибок / похожих вопросов
  • SPENT 7 ЧАСОВ.

Итак, это происходит во второй раз в моей жизни. в прошлый раз я решил это, удалив временную папку файлов ASP.NET, но на этот раз мне нужна ваша помощь.


Всякий раз, когда у меня возникла эта конкретная ошибка, оказалось, что папка, из которой загружается сборка Visual Studio, отличается от папки, из которой выполняется веб-приложение.

То есть сервер приложений запускает приложение из

C:\dev\MyApplication\bin 

но Visual Studio отлаживается от

C:\dev\MyOtherApplication\bin (or something along those lines, anyway).

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

Обновление :

Для IIS каталог сервера приложений (например, C:\dev\MyApplication выше) является физическим каталогом, настроенным для веб-приложения, - это можно контролировать, изменив основные настройки для приложения.

Для Visual Studio каталог отладки (например, C:\dev\MyOtherApplication выше) - это каталог, в котором находятся ваши файлы svc , обычно тот же каталог, что и файл проекта csproj .


Для меня проблема в том, что я включил «Оптимизировать код» на вкладке «Сборка» настроек моего проекта.


Для тех, кто использует Visual Studio 2008, а не Visual Studio 2010 и получает эту ошибку. Ответы выше не помогли мне в этой ситуации, поэтому я делюсь своим опытом.

Если вы отлаживаете веб-приложение IIS в Visual Studio 2008, подключившись к процессу w3wp.exe, а не используя ASP.NET Development Server для отладки (начните с отладки), это может быть вашей проблемой:

Visual Studio может по-прежнему ссылаться на файл символа (файл, используемый во время отладки) из вашей DLL из устаревшего процесса IIS. И этот файл символа был воссоздан перекомпиляцией исходного кода .NET, но процесс IIS по-прежнему ссылается на старый файл символов.

Чинить:

Просто прекратите отладку в Visual Studio, перезапустите веб-приложение и повторно присоединитесь к процессу. Затем точки останова должны перейти от желтого (когда вы видите эту ошибку) к красному снова.

========================

Больше вещей, чтобы попробовать (нашел новую ситуацию сегодня):

Сделайте каждую пулю по ссылке ниже ONE AT A TIME, но повторите шаги ниже с каждым, который вы попробуете.

http://carnotaurus.philipcarney.com/post/4130422114/visual-studio-debugging-issue-with-files-of-the-same

1.) Остановить отладку (нажмите значок красного квадрата) в Visual Studio
2.) Чистое решение
3.) Создание решения
4.) [ИНСТРУКЦИЯ ПО ИНСТРУМЕНТАМ ВСТАВКИ ЗДЕСЬ]
5.) Инструменты> Присоединить к процессу (или начать с отладки)
6.) Запустите программу, к которой вы подключаетесь, и запустите ее так, чтобы ваш код попал

6 объяснено:

Если вы подключаетесь к nunit.exe, откройте NUnit и запустите тест, чтобы ваша точка останова была удалена

Если вы прикрепляетесь к w3wp.exe (сайту IIS), откройте свой сайт в браузере и перейдите на страницу, которая попадет в точку останова

РЕДАКТИРОВАТЬ:

Сегодня я заметил, что если вы попытаетесь отладить проект, который не задан в качестве запуска, он покажет это. Когда вы присоединяетесь к процессу w3wp.exe, он думает о его отладке в проекте, который задан как начальный проект. Чтобы решить проблему, просто нажмите правой кнопкой мыши проект веб-приложения и выберите «Задать как запуск проекта». Затем попробуйте повторно подключиться к вашему процессу.


Другой анекдот, который может быть полезен,

Я столкнулся с этой проблемой, когда один из моих проектов использовал ссылки на файлы из выходной папки Release. Когда результаты сборки были помещены в папку «Товары», эти выпуски dll перезаписывали DLL-файлы Debug.

Решение состояло в том, чтобы убедиться в файле csproj, моя ссылка HintPath была

<HintPath>..\..\Core\Goods\$(Configuration)\MyFramework.dll</HintPath>

и не

<HintPath>..\..\Core\Goods\Release\MyFramework.dll</HintPath>


Если вы отлаживаете веб-проект, убедитесь, что атрибут debug = "true" установлен в файле web.config:

<system.web>
    <compilation debug="true"   .../>

Мне пришлось вручную удалить все экземпляры .dll из реестра и все экземпляры .dll с моего локального диска. Удалено / переустановлено мое приложение и теперь im удары точки останова! Потратил полдня, делая это :(.


Перейти к Свойствам проекта -> Сборка -> Дополнительно ...

В разделе «Выход» выберите «полный» в раскрывающемся меню «Отладка»


Попробуйте установить Silverlight Application Project как проект запуска: щелкните правой кнопкой мыши проект -> «Сделать как проект запуска». Затем нажмите F5 и посмотрите, можете ли вы поймать точки останова ...

Попытайтесь удалить данные браузера / temp в своем браузере каждый раз, когда вы вносите изменения в приложение Silverlight


Проблема для меня оказалась в том, что флажок Properties-> Build-> Optimize code был включен в настройке Debug. Отключилось, перестроено и отладка работала нормально.


Решения одной и той же проблемы в моем случае были следующими комбинациями шагов:

  1. Решение -> Свойства. Выберите несколько проектов запуска. Выберите «Начать действие» над проектами, которые необходимо выполнить для отладки.
  2. Удалили сервис из справочной службы и очистили решение.
  3. Восстановить проект службы
  4. Добавил его обратно к списку услуг
  5. Очистите решение и восстановите его.

У меня была аналогичная проблема, кроме моей проблемы было глупо - у меня было 2 экземпляра встроенного веб-сервера, работающего под двумя разными портами, и у меня был проект -> свойства -> веб -> «Стартовый URL», указывающий на фиксированный порт, но веб-приложение фактически не работало под этим портом. Поэтому мой браузер перенаправлялся на «Стартовый URL», который упоминался в 1539, но экземпляр кода / отладки работал под портом 50803.

Я изменил встроенный веб-сервер для работы под фиксированным портом и скорректировал свой «Стартовый URL», чтобы использовать этот порт. project -> properties -> web -> «Серверы» -> «Использовать сервер разработки Visual Studio» -> конкретный порт


У меня была та же проблема, но в VS2013 для веб-приложения. Для меня ответ состоял в том, чтобы обновить конфигурацию сборки для решения: -

  1. Щелкните правой кнопкой мыши Solution и выберите Properties
  2. Выберите конфигурацию Debug
  3. Выберите «Конфигурация» в разделе «Свойства конфигурации» в триггете
  4. Проверьте флажок «Создать» для каждого проекта, который вы хотите отлаживать.

Как только я это сделал, все мои контрольные точки начали работать.


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

Это оказалось Nuget - у меня было 3 версии Newtonsoft.Json (через 7 проектов C #). Решение будет скомпилировано, но не будет отлаживаться.

Я исправил проблему, выполнив следующее в консоли диспетчера пакетов Nuget:

PM> Обновление пакета Newtonsoft.Json


У меня была такая же проблема в Windows 7 и все проделано: очистка библиотек DLL, список модулей модулей, выключение «Just My Code» и т. Д.

Проблема была решена после запуска Visual Studio «как администратора». Честно. Почему Microsoft не могла просто предупредить меня, что она не работает «как администратор»? Это сэкономит мне несколько часов работы.


У меня возникла такая проблема, когда у клиента, где для каждого решения приложения они скопировали большинство разделяемых сборок в папку « Ссылки », затем добавили их в решение как « Элементы решения », так и как « Проект » в решении.

Еще не уверен, почему, но некоторые из них были отлаживаемы, а некоторые нет, хотя в настройках «Ссылки» для сборщиков были указаны правильные полные пути.

Это непредсказуемое поведение alomst привело меня в бешенство :)

Я решил это, удалив все сборки из папки « Ссылки », для которых были проекты с исходным кодом, и очень хорошо отслеживал информацию о версии для общих сборок.


Убедитесь, что вы запускаете свою программу в режиме DEBUG, а не в режиме RELEASE.


Чтобы исправить эту проблему в Web.config, мне просто пришлось добавить debug="true"

  <system.web>
    <compilation targetFramework="4.0" debug="true">

Что помогло мне найти это решение, он смотрел на окна модулей при отладке и видел, что для моих загружаемых DLL-библиотек ASP.NET я имел: Binary не был построен с информацией об отладке.


Щелкните правой кнопкой мыши по решению -> Свойства

Просмотр общих свойств -> Startup Project

Выберите несколько стартовых проектов

выберите «Начать действие» над проектами, которые необходимо выполнить для отладки.


Я попытался переименовать файл .pdb в папку obj\debug и сделал чистое решение и перестроил.
Он создал новый файл .pdb и я смог правильно ударить точки останова.


Я только что решил эту проблему в соответствии с развертыванием приложений Silverlight . (Этот ответ является дубликатом некоторых других, но я попытаюсь объяснить его более подробно).

Проблема, скорее всего, в том, что приложение Silverlight не будет правильно размещено в вашем веб-приложении при сборке / запуске. Это справочная проблема - ее просто понять, но не очевидно в первый раз, когда вы ее встретите.

Как и любая другая ссылка на проект, выведенный на проект проект должен быть скопирован в папку bin для проекта, чтобы отладить. Для библиотек классов это происходит, когда вы щелкаете правой кнопкой мыши и выбираете «Добавить ссылку ...». Для Silverlight вы должны добавить ссылку через Project Properties.

  • Щелкните правой кнопкой мыши свой проект и выберите «Свойства»
  • Выберите вкладку «Приложения Silverlight» слева
  • Нажмите кнопку «Добавить ...» и выберите проект Silverlight из диалогового окна

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





iis