Главная > Silverlight > Отладка внебраузерных Silverlight приложений

Отладка внебраузерных Silverlight приложений

В Silverlight 4 возможности, доступные для внебраузерных приложений, увеличились многократно. Чего стоит только поддержка взаимодействия с COM объектами и доступа к файловой системе в доверенном сценарии. Но, когда разработчики начинают создавать внебраузерные приложения, для многих не совсем очевиден механизм их отладки. Ведь, отлаживая приложения в браузере, доступа к специфическим внебраузерным возможностям нет. Поэтому хорошим решением кажется присоединение отладчика к процессу «sllauncher.exe», в котором работают внебраузерные приложения. Но данное решение не позволяет отлаживать код, выполняемый при загрузке. Вероятно должен быть способ получше.

Далее я такой способ и опишу.

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

  1. Если проект Web приложения не является стартовым проектом (запускаемым при нажатии F5 в Visual Studio), сделайте его таковым.
  2. Запустите проект.
  3. Установите внебраузерное Silverlight приложение.
  4. После установки внебраузерное приложение запустится. Закройте его и остановите отладку в Visual Studio.
  5. Сделайте проект Silverlight приложения стартовым. Для этого нажмите правой кнопкой мыши на имени проекта в окне «Solution Explorer» и выберите пункт «Set as StartUp Project».
  6. После этого в том же контекстном меню проекта Silverlight приложения выберите пункт «Properties»
  7. В открывшемся окне свойств проекта перейдите на вкладку «Debug». И установите для «Start Action» значение «Installed out-of-browser application». В выпадающем списке выберите, скорее всего, единственный пункт, а именно имя установленного внебраузерного приложения.
  8. Всё, можно сохранить изменения, и поставить точку останова в нужном месте Silverlight приложения.
  9. Нажмите F5. Silverlight приложение сразу запустится вне браузера. Отладчик будет присоединён автоматически.

Оригинал на английском

Tags: ,

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

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