Как вы отлаживаете пакет Microsoft Store? - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть простой клиент UWP в простом веб-приложении.Когда я запускаю его с конфигурацией Debug , он прекрасно работает, когда я запускаю с Release , он прекрасно работает.Однако, когда я создаю пакет для Магазина Microsoft и внедряю его локально, он падает, когда я пытаюсь вызвать определенный класс документов.

Я пытался разместить всплывающее окно с сообщением нанеобработанные инструкции, но никаких всплывающих окон нет.

Я пытался подключиться к нему с помощью отладчика Visual Studio, но все, что я получаю, это сообщение, что Visual Studio не может отладить собственный код.Похоже, что флаг .Net Native Tool Chain - единственное различие между рабочей и сбойной версией моего приложения.

Есть какие-либо идеи / подсказки о том, как отладить эту проблему?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2019

OK. Это съело день моей жизни. Оказывается, есть по крайней мере один класс ошибок, который даже не считается предупреждением RTL, но является необработанным исключением в собственном коде .NET. Я использовал стиль в элементе управления, который не имел надлежащего базового элемента управления. Вот использование:

  <gfcontrols:PriceControl DataContext="{Binding Path=LastPrice}"
                           Style="{StaticResource PriceStyle}"/>

А вот и стиль:

  <Style x:Key="PriceStyle"
         TargetType="controls:QuantityControl">
    <Setter Property="Format"
            Value="#,##0.00;-#,##0.00"/>
  </Style>

Обратите внимание, что QuantityControl не является приемлемым целевым типом для PriceControl , поскольку они оба являются потомками ContentControl . Запуск этого в отладчике Visual Studio не вызывал никаких предупреждений или даже информационных сообщений. Однако, как только я загрузил его через Диагностика хоккейной аварии , я смог наконец получить сообщение:

Невозможно применить стиль с TargetType 'GammaFour.Views.Controls.DecimalControl' для объекта типа 'GammaFour.Views.Controls.PriceControl. [Строка: 0 Позиция: 0]

Итак, ответ таков: вам нужно ознакомиться с утилитой Hockey, упомянутой в ссылке, если вы собираетесь диагностировать ошибки приложения UWP, потому что, очевидно, не все, что разрешено в RTL, разрешено в собственном коде .

0 голосов
/ 20 апреля 2019

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

C:\Users\All Users\Microsoft\Windows\WER\ReportArchive

Попробуйте использовать некоторые инструменты диагностики, чтобы открыть файл wer, например Просмотр диагностических данных или AppCrashView и просмотреть код исключения.

...