Как отладить опубликованный файл XBAP в VS2010? - PullRequest
5 голосов
/ 11 сентября 2010

Мне нужно отладить приложение с полным доверием, указав URL-адрес или, в идеале, из веб-приложения, к которому я собираюсь развернуть его. Я пробовал следующее:

  • Запуск «PresentationHost.exe-embedding» из командной строки, подключение через Visual Studio. Среда IDE показывает, что мои точки останова действительны до тех пор, пока я не попытаюсь загрузить файл .xbap, после чего он покажет, что символы не загружены Ни одна из моих точек останова не была достигнута. Я пробовал "mage -cc", прежде чем делать это по нескольким рекомендациям в других местах.

  • Жестко закодированный URL в панели отладки проекта, затем F5. Или «PresentationHost.exe -embedding -debug» и присоедините к процессу, затем загрузите .xbap в IE. И то и другое приводит к следующей ошибке при появлении страницы:

System.ArgumentException: форматы URI не поддерживаются.

   at System.IO.Path.NormalizePath(...)
   at System.IO.FileStream.Init(...)
   at System.IO.FileStream..ctor(...)
   at System.Windows.Interop.ApplicationLauncherXappDebug.GetIdFromManifest(...)
   at System.Windows.Interop.ApplicationLauncherXappDebug.GetApplicationIdentity()
   at System.Windows.Interop.ApplicationLauncherXappDebug.Initialize()
   at System.Windows.Interop.DocObjHost.MS.Internal.AppModel.IBrowserHostServices.Run(...)

Ответы [ 2 ]

4 голосов
/ 11 сентября 2010

Нашел это.«PresentationHost.exe-embedding» будет работать при условии, что вы выберете файл .pdb, который будет опубликован, что не является по умолчанию.Это следует из того, что я видел раньше, когда у отладчика были символы, тогда как приложение действительно загружалось.Для уточнения:

  • Перейдите на вкладку «Публикация» в свойствах проекта
  • Нажмите «Файлы приложений ...»
  • Установите флажок «Показать все файлы»
  • Выберите файл .pdb для включаемого исполняемого файла.
  • Повторная публикация
  • PresentationHost.exe-embedding
  • Присоедините к процессу или настройте проект для его запускавкладки отладки
  • Запустите веб-страницу в браузере и перейдите к файлу xbap, точки останова должны быть достигнуты.
2 голосов
/ 14 августа 2012

Если у вас есть доступ к исходному коду и вы развертываете на localhost, вы можете просто добавить System.Diagnostics.Debugger.Launch(); в ваш код. Это позволит вам подключаться с помощью VS к любому процессу, который использует ваш XBAP.

...