#c# #xaml #crash #uwp #windows-10-universal
#c# #xaml #сбой #uwp #windows-10-universal
Вопрос:
Я создал большое обновление для своего приложения uwp (рабочий стол Windows 10). Мое приложение для отладки и настройки выпуска запущено на моем ПК. Я создал пакет для магазина. Я развертываю приложение для тестовой папки (MyApp_VersionNumber_Test) на другом КОМПЬЮТЕРЕ — развертывание прошло успешно. Но я запускаю свое приложение, а затем происходит сбой приложения. Это журнал событий Windows:
Faulting application name: myApp.exe, version: 1.2.1.0, time stamp: 0x580c6e57
Faulting module name: Windows.UI.Xaml.dll, version: 10.0.14393.187, time stamp: 0x57cf9d04
Exception code: 0xc000027b
Fault offset: 0x000000000055bac8
Faulting process id: 0x1fec
Faulting application start time: 0x01d22d08a5b94ce7
Faulting application path: C:Program FilesWindowsAppsMyPackageMyApp.exe
Faulting module path: C:WindowsSystem32Windows.UI.Xaml.dll
Report Id: 38924ba1-d61f-4efd-ac28-5ba06af4658d
Faulting package full name: MyPAckage
Faulting package-relative application ID: App
Я включил дамп пользовательского режима, но моя папка дампа пуста. Я использовал application insights (в моем приложении uwp), но logs пуст. Есть идеи? Проблема в xaml. Как мне найти эту ошибку?
Комментарии:
1. Вы пробовали на каких-либо других устройствах? У них такая же проблема?
2. Да, я опубликовал тестовую папку на трех компьютерах, и у меня возникла эта проблема на всех компьютерах.
Ответ №1:
Я решил эту проблему. У меня было два способа поиска решений. Я пишу их здесь, надеюсь, это поможет сэкономить время.
-
Начните с конца. У меня есть код исключения, это
0xc000027b
(как видно в окне просмотра событий Windows). В этих статьях показано, как использовать дамп для исправления ошибок в приложении Windows Store: -
Я решил поискать проблему в исходном коде. Я открыл список исключений в Visual Studio (CTRL ALT E). Я выбрал все исключения для «Common Language Runtime», запустил в режиме отладки. Затем была обнаружена ошибка:
var res = ResourceLoader.GetForCurrentView().GetString(key);
Я изменил свой код на:
LocalizedResources = new ResourceLoader();
var res = LocalizedResources.GetString(key);