2017-01-07 16 views
0

Мы разработали приложение Xamarin Forms, поддерживающее Android, iOS и Windows Phone. Приложение работает во всех трех ОС при развертывании в режиме отладки.Ошибка приложения на Windows Phone при развертывании в режиме детекции

Он также работает на Android и iOS при развертывании в режиме Release. Он сбой сразу после отображения экрана Splash на Windows Phone 8.1/10 при развертывании в режиме выпуска, но, как ни странно, все отлично работает при развертывании в режиме Debug.

В чем причина?

Есть ли способ увидеть журнал приложений, чтобы диагностировать причину сбоя?

EDIT 1:
Привет Джеральд/Demitrian,

Большое спасибо за ваш ответ. Ниже приведено содержимое окна «Вывод». Существует исключение XamlParseException, но нет дополнительной информации. Я также подключил журнал отладки из папки «Decuments \ Debug» на Windows Phone.

Содержание из выходного окна:

'AgHost.exe' (CoreCLR: DefaultDomain): Loaded 'C:\windows\system32\mscorlib.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.RuntimeHost.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Net.ni.dll'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Xml.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\MultiEventsApp.WinPhone.ni.DLL'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\MultiEventsApp.ni.DLL'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Parse.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Parse.Phone.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Core.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Runtime.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Threading.Tasks.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.Interop.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Core.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\WinMetadata\Windows.winmd'. Cannot find or open the PDB file. 
Exception thrown: 'System.ArgumentNullException' in mscorlib.ni.dll 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Platform.WP8.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXing.Net.Mobile.Forms.WindowsPhone.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ImageCircle.Forms.Plugin.WindowsPhone.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Maps.WP8.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXing.Net.Mobile.Forms.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXingNetMobile.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ZXing.Net.Mobile.Core.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\System.Windows.Interactivity.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\microsoft.phone.controls.toolkit.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Collections.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Resources.ResourceManager.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\ImageCircle.Forms.Plugin.Abstractions.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Maps.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.Maps.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Runtime.Serialization.ni.dll'. Symbols loaded. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\data\ProgramData\Microsoft\Windows\AppRepository\Packages\MultiEventsApp_1.0.0.0_neutral__74wf2z3scmpey\NI\Xamarin.Forms.Xaml.ni.DLL'. Cannot find or open the PDB file. 
'AgHost.exe' (CoreCLR: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Diagnostics.Debug.ni.dll'. Symbols loaded. 
Exception thrown: 'Xamarin.Forms.Xaml.XamlParseException' in Xamarin.Forms.Xaml.ni.DLL 
Exception thrown: 'System.Reflection.TargetInvocationException' in mscorlib.ni.dll 
Exception thrown: 'System.Reflection.TargetInvocationException' in Microsoft.Phone.ni.dll 

Содержание из документов \ папка Debug:

Dump Summary 
------------ 
Dump File: MultiEventsApp with exception E0434352 on 1-07-2017 17.55.dmp : C:\Users\Pocket_User\Desktop\MultiEventsApp with exception E0434352 on 1-07-2017 17.55.dmp 
Last Write Time: 1/7/2017 5:55:50 PM 
Process Name: aghost.exe : aghost.exe 
Process Architecture: ARM 
Exception Code: 0xE0434352 
Exception Information: 
Heap Information: Present 

System Information 
------------------ 
OS Version: 10.0.14393 
CLR Version(s): 4.5.22926.0 

Modules 
------- 
Module Name Module Path Module Version 
----------- ----------- -------------- 
aghost.exe aghost.exe 10.0.14393.576 
ntdll.dll ntdll.dll 10.0.14393.576 
KERNELBASE.dll KERNELBASE.dll 10.0.14393.576 
combase.dll combase.dll 10.0.14393.576 
ucrtbase.dll ucrtbase.dll 10.0.14393.576 
RPCRT4.dll RPCRT4.dll 10.0.14393.576 
kernel32legacy.dll kernel32legacy.dll 10.0.14393.576 
bcryptPrimitives.dll bcryptPrimitives.dll 10.0.14393.576 
msvcrt.dll msvcrt.dll 7.0.14393.576 
kernel.appcore.dll kernel.appcore.dll 10.0.14393.576 
OLEAUT32.dll OLEAUT32.dll 10.0.14393.576 
shcore.dll shcore.dll 10.0.14393.576 
AgHostSvcs.dll AgHostSvcs.dll 10.0.14393.576 
TaskHostCore.dll TaskHostCore.dll 10.0.14393.576 
msvcp_win.dll msvcp_win.dll 10.0.14393.576 
wintypes.dll wintypes.dll 10.0.14393.576 
OnDemandBrokerClient.dll OnDemandBrokerClient.dll 10.0.14393.576 
advapi32legacy.dll advapi32legacy.dll 10.0.14393.576 
sechost.dll sechost.dll 10.0.14393.576 
CoreUIComponents.dll CoreUIComponents.dll 0.0.0.0 
CoreMessaging.dll CoreMessaging.dll 10.0.14393.576 
EMCLIENT.dll EMCLIENT.dll 10.0.14393.576 
TASKHOSTSVCS.dll TASKHOSTSVCS.dll 10.0.14393.576 
WpPortingLibrary.dll WpPortingLibrary.dll 0.0.0.0 
SspiCli.dll SspiCli.dll 10.0.14393.576 
minuser.dll minuser.dll 0.0.0.0 
win32u.dll win32u.dll 10.0.14393.576 
gdi32.dll gdi32.dll 10.0.14393.576 
modernapiexthost.dll modernapiexthost.dll 0.0.0.0 
SecRuntime.dll SecRuntime.dll 0.0.0.0 
gdi32min.dll gdi32min.dll 10.0.14393.576 
WpCoreUtil.DLL WpCoreUtil.DLL 0.0.0.0 
msvcp110_win.dll msvcp110_win.dll 10.0.14393.576 
storageusage.dll storageusage.dll 10.0.14393.576 
procthreadexthost.dll procthreadexthost.dll 0.0.0.0 
ntmarta.dll ntmarta.dll 10.0.14393.576 
CoreApplicationShim.dll CoreApplicationShim.dll 0.0.0.0 
twinapi.appcore.dll twinapi.appcore.dll 10.0.14393.576 
bcrypt.dll bcrypt.dll 10.0.14393.576 
PsmApp.dll PsmApp.dll 10.0.14393.576 
AppModelProxy.dll AppModelProxy.dll 0.0.0.0 
pacmantileshim.dll pacmantileshim.dll 10.0.14393.576 
VEEventDispatcher.dll VEEventDispatcher.dll 10.0.14393.576 
ActXPrxy.dll ActXPrxy.dll 10.0.14393.576 
pacmanclient.dll pacmanclient.dll 10.0.14393.576 
RMClient.dll RMClient.dll 10.0.14393.576 
mrmcorer.dll mrmcorer.dll 10.0.14393.576 
windows.ui.dll windows.ui.dll 10.0.14393.576 
dcomp.dll dcomp.dll 10.0.14393.576 
inputhost.dll inputhost.dll 0.0.0.0 
textinputframework.dll textinputframework.dll 10.0.14393.576 
CRYPTBASE.dll CRYPTBASE.dll 10.0.14393.576 
npctrl.dll npctrl.dll 0.0.0.0 
PROPSYS.dll PROPSYS.dll 7.0.14393.576 
agcore.dll agcore.dll 4.1.60221.0 
SL_InterprocDll.dll SL_InterprocDll.dll 0.0.0.0 
WS2_32.dll WS2_32.dll 10.0.14393.576 
CRYPT32.dll CRYPT32.dll 10.0.14393.576 
d3d11.dll d3d11.dll 10.0.14393.576 
WININET.dll WININET.dll 11.0.14393.576 
ole32_wp.dll ole32_wp.dll 10.0.14393.576 
urlmon.dll urlmon.dll 11.0.14393.576 
PlatformInterop.dll PlatformInterop.dll 0.0.0.0 
MSASN1.dll MSASN1.dll 10.0.14393.576 
dxgi.dll dxgi.dll 10.0.14393.576 
iertutil.dll iertutil.dll 11.0.14393.576 
shlwapi.dll shlwapi.dll 10.0.14393.576 
cfgmgr32.dll cfgmgr32.dll 10.0.14393.576 
dsclient.dll dsclient.dll 10.0.14393.576 
Windows.Storage.dll Windows.Storage.dll 10.0.14393.576 
powrprof.dll powrprof.dll 10.0.14393.576 
profapi.dll profapi.dll 10.0.14393.576 
coreclr.dll coreclr.dll 4.5.22926.0 
CRYPTSP.dll CRYPTSP.dll 10.0.14393.576 
werapiexthost.dll werapiexthost.dll 0.0.0.0 
mscorlib.ni.dll mscorlib.ni.dll 4.5.22926.0 
rsaenh.dll rsaenh.dll 10.0.14393.576 
System.Windows.RuntimeHost.ni.dll System.Windows.RuntimeHost.ni.dll 2.0.6.0 
System.Windows.ni.dll System.Windows.ni.dll 4.7.50915.0 
System.Net.ni.dll System.Net.ni.dll 4.7.50915.0 
System.ni.dll System.ni.dll 4.5.22926.0 
System.Xml.ni.dll System.Xml.ni.dll 4.5.22926.0 
appchromeapi.dll appchromeapi.dll 0.0.0.0 
qcdx11um8612.dll qcdx11um8612.dll 9.18.2074.0 
MSVCR120.dll MSVCR120.dll 12.0.21005.1 
qcdx11compiler8612.dll qcdx11compiler8612.dll 1.0.2074.0 
MSVCP120.dll MSVCP120.dll 12.0.21005.1 
ShellChromeAPI.dll ShellChromeAPI.dll 0.0.0.0 
MultiEventsApp.WinPhone.ni.DLL MultiEventsApp.WinPhone.ni.DLL 1.0.0.0 
Microsoft.Phone.ni.dll Microsoft.Phone.ni.dll 0.0.0.0 
MultiEventsApp.ni.DLL MultiEventsApp.ni.DLL 1.0.0.0 
Parse.ni.DLL Parse.ni.DLL 1.7.0.0 
Parse.Phone.ni.DLL Parse.Phone.ni.DLL 1.7.0.0 
Xamarin.Forms.Core.ni.DLL Xamarin.Forms.Core.ni.DLL 2.0.0.0 
System.Runtime.ni.dll System.Runtime.ni.dll 4.5.22926.0 
System.Threading.Tasks.ni.dll System.Threading.Tasks.ni.dll 4.5.22926.0 
Microsoft.Phone.Interop.ni.dll Microsoft.Phone.Interop.ni.dll 0.0.0.0 
phoneinfo.dll phoneinfo.dll 0.0.0.0 
System.Core.ni.dll System.Core.ni.dll 4.5.22926.0 
wpnapps.dll wpnapps.dll 10.0.14393.576 
XmlLite.dll XmlLite.dll 10.0.14393.576 
Windows.ni.winmd Windows.ni.winmd 0.0.0.0 
Windows.winmd Windows.winmd 0.0.0.0 
StorageProxy.dll StorageProxy.dll 0.0.0.0 
Windows.Storage.ApplicationData.dll Windows.Storage.ApplicationData.dll 10.0.14393.576 
YPerfHealthLogger.dll YPerfHealthLogger.dll 0.0.0.0 
dwrite.dll dwrite.dll 10.0.14393.576 
Xamarin.Forms.Platform.WP8.ni.DLL Xamarin.Forms.Platform.WP8.ni.DLL 2.0.0.0 
ZXing.Net.Mobile.Forms.WindowsPhone.ni.DLL ZXing.Net.Mobile.Forms.WindowsPhone.ni.DLL 2.1.47.0 
ImageCircle.Forms.Plugin.WindowsPhone.ni.DLL ImageCircle.Forms.Plugin.WindowsPhone.ni.DLL 1.8.1.8 
Xamarin.Forms.Maps.WP8.ni.DLL Xamarin.Forms.Maps.WP8.ni.DLL 2.0.0.0 
ZXing.Net.Mobile.Forms.ni.DLL ZXing.Net.Mobile.Forms.ni.DLL 2.1.47.0 
ZXingNetMobile.ni.DLL ZXingNetMobile.ni.DLL 2.1.47.0 
ZXing.Net.Mobile.Core.ni.DLL ZXing.Net.Mobile.Core.ni.DLL 2.1.47.0 
System.Windows.Interactivity.ni.DLL System.Windows.Interactivity.ni.DLL 3.0.30924.0 
microsoft.phone.controls.toolkit.ni.DLL microsoft.phone.controls.toolkit.ni.DLL 8.0.1.0 
System.Collections.ni.dll System.Collections.ni.dll 4.5.22926.0 
System.Resources.ResourceManager.ni.dll System.Resources.ResourceManager.ni.dll 4.5.22926.0 
ImageCircle.Forms.Plugin.Abstractions.ni.DLL ImageCircle.Forms.Plugin.Abstractions.ni.DLL 1.8.1.8 
Xamarin.Forms.Maps.ni.DLL Xamarin.Forms.Maps.ni.DLL 2.0.0.0 
Microsoft.Phone.Maps.ni.dll Microsoft.Phone.Maps.ni.dll 3.0.30701.2350 
System.Runtime.Serialization.ni.dll System.Runtime.Serialization.ni.dll 4.5.22926.0 
Xamarin.Forms.Xaml.ni.DLL Xamarin.Forms.Xaml.ni.DLL 2.0.0.0 
System.Diagnostics.Debug.ni.dll System.Diagnostics.Debug.ni.dll 4.5.22926.0 
errorhandlingext.dll errorhandlingext.dll 10.0.10011.16384 
mintdh.dll mintdh.dll 10.0.14393.576 

EDIT 2:
Я сделал некоторый прогресс в этом вопросе. Свойство FontFamily вызывало проблему в моем случае. Поэтому, если удалить свойство fontfamily и запустить приложение в режиме деблокирования, исключение больше не генерируется, но способ отображения экрана на устройстве не выглядит каким-либо образом, он отображается в режиме отладки.

Я прилагаю обе скриншоты. Я попробовал добавить второй вариант в Forms.Init, как сказал Джон, но он дает мне ошибку, поскольку метод не поддерживает второй вариант.

Debug mode screenshot

Release mode screenshot

На выше поведение, я следующие вопросы:

  • Почему приложение корректно работает в режиме отладки, а не в режиме выпуска ?
  • Почему экран правильно отображается в режиме отладки, а не в Режим выпуска?
  • Почему это не вызывает ошибок так, как оно выбрасывается в Режим выпуска?
  • Есть ли недостающая ссылка? Не уверен, что это так, поскольку в приложении было бы высказано исключение.

Любые предложения?

+1

Вы уже проверили окно «Вывод»? –

+0

Поскольку вопрос в настоящее время написан, вам сложно помочь из-за недостающей информации. Как уже упоминалось [здесь] (https://msdn.microsoft.com/windows/uwp/get-started/enable-your-device-for-development), вы можете найти дампы в хранилище телефона в папке Documents \ Debug , Пожалуйста, прикрепите содержимое дампа к своему сообщению. – Demitrian

ответ

0

Наконец, проблема решена. Пожалуйста, найдите решение ниже, если у вас есть такая же проблема.

Пошаговое повторное создание проекта показало, что мое приложение работает нормально, пока я не добавил пакет Xamarin.Forms.Maps в моем приложении. Я устанавливал последнюю версию пакета Maps, которая обновляла его зависимые пакеты до более высокой версии. Плагин Maps заставил пакет Xamarin.Forms обновиться с 2.3.2.127 до 2.3.3.180. Поэтому, когда я развертывал приложение с этой версией Xamarin Forms в режиме выпуска, это приводило к сбою приложения и проблемам пользовательского интерфейса, упомянутым в моем предыдущем ответе выше.

Чтобы решить эту проблему, я возвращаюсь к любимой версии Maps, которая была совместима с версией Xamarin Forms и вуаля 2.3.2.127!

Похоже, есть ошибка в версии Xamarin Forms 2.3.3.180.

0

Несколько быстрых заметки:

1.- выглядит как кнопка регистра принимает весь экран Height, вы пытались указать высоту для этой кнопки?Что-то вроде:

2.- Вы пробовали Поведение связи «Не ссылаться»?

enter image description here