Отладка Silverlight не достигает точек останова - PullRequest
2 голосов
/ 29 декабря 2010

Я пытаюсь разработать приложение Silverlight для школьного проекта.

Но у меня возникают проблемы с тем, что Visual Studio не загружает точку останова, что затрудняет отладку приложения Silverlight с использованием ViewModels.

Я пытался добавить «Silverlight» в «Свойства проекта» -> «Веб» -> «Silverlight», но ничего не сделал.

Странно, потому что это работает несколько раз.Я пытался использовать Chrome, Firefox и Internet Explorer.И с Silverlight 4 и 3.

Кто-нибудь знает решение для этого?

Ответы [ 7 ]

6 голосов
/ 30 декабря 2010

Я обнаружил, что это помогло, если вы установили браузер по умолчанию на IE (я использовал IE8 только с Silverlight).Таким образом, при нажатии клавиши F5 Visual Studio действительно может подключить отладчик к плагину Silverlight.После этого вы сможете использовать отладчик VS.

У меня наверняка были проблемы с отладкой приложений Silverlight с помощью Firefox.Firefox запускает плагины (включая плагин Silverlight) в отдельном процессе, и я думаю, что VS не достаточно умен, чтобы понять, что Silverlight не работает в процессе, который он начал.Вы можете вручную подключить VS-отладчик к процессу plugin-container, но (если моя память мне не изменяет), я не считаю это надежным.Я определенно нашел отладку намного более надежной после переключения браузера по умолчанию на моей машине на IE.

Кроме того, в своем комментарии к ответу Detroitpro вы написали

Это говорит о том, что нет символовбыли загружены еще до того, как я установил соединение с браузером, поэтому я не думаю, что это [...]

Если вы установите точку останова перед тем, как запустить приложение Silverlight в браузере, тогда вы, вероятно, получите сообщение «нет загруженных символов».Когда вы начнете отлаживать, Visual Studio запустит сервер разработки ASP.NET, чтобы предоставить HTML-страницу, содержащую ваше приложение Silverlight, если ничего более.Сообщение «без символов» означает, что VS не может найти класс, в который вы ставите точку останова, ни в одном из процессов, к которым подключен отладчик.(На данный момент единственным процессом, к которому подключен отладчик VS, является сервер разработки ASP.NET.) После того, как вы откроете браузер для просмотра страницы, содержащей ваше приложение Silverlight, и подключите отладчик VS к процессу, выполняющему плагин Silverlight,он должен избавиться от сообщения «без символов».

Наконец, еще один способ узнать, подключен ли отладчик VS к процессу, выполняющему ваш код, - вызвать окно модулей (Отладка> Windows> Модули).Если DLL вашего приложения нет в списке модулей, вы получите сообщение «нет загруженных символов», если попытаетесь установить точки останова в коде приложения.

3 голосов
/ 18 февраля 2011

Вы должны присоединить плагин-контейнер Firefox к процессу отладки, поскольку Firefox больше не запускает никаких плагинов в основном процессе.

Перейдите в «Отладка» -> «Присоединить к процессу» -> «Найти плагин-контейнер» и нажмите кнопку «Присоединить».

Теперь отладка должна работать снова.

2 голосов
/ 05 мая 2011

Вот что у нас работает с Internet Explorer 9

  1. Запустите проект с помощью Ctrl-F5.

  2. Используйте меню отладки, чтобы прикрепитьв процесс браузера.

  3. Остановить проект.

  4. Запустить проект с помощью F5.

1 голос
/ 11 мая 2011

Вот решение, которое работало для меня, когда отладка не работала в Firefox:

  1. Введите "about: config" в адресную строку Firefox
  2. Найдите свойство с именем "dom.ipc.plugins.enabled"
  3. Измените значение с истинного на ложное, дважды щелкнув
  4. Перезапустите все браузеры Firefox
  5. Вернитесь в Visual Studio и начните отладку!
0 голосов
/ 09 октября 2016

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

0 голосов
/ 24 января 2013

нажмите отладка-> исключения и установите флажок рядом с исключениями .net.

0 голосов
/ 29 декабря 2010

У меня была эта проблема с образцом несколько недель назад;именно тогда я узнал, что в Firefox и Chrome есть ошибки, из-за которых они не могут отлаживать silverlight.Также убедитесь, что вы используете более новую версию IE.Существует некоторая случайная средняя версия IE, которая также не загружается правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...