Архив

Архив 26 Январь 2010

Отладка внебраузерных 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: ,