2017-01-07 70 views
0

我們開發了支持Android,iOS和Windows Phone的Xamarin Forms應用程序。當以調試模式部署時,該應用程序正在處理所有三個操作系統。部署在發佈模式下的Windows Phone上的應用程序崩潰

當它以發佈模式部署時,它也適用於Android和iOS。在使用Release模式部署Windows Phone 8.1/10時,它顯示Splash屏幕後立即崩潰,但奇怪的是,使用Debug模式部署時,所有工作都正常。

是什麼原因?

有沒有辦法讓查看應用程序日誌來診斷死機原因?

編輯1:
嗨傑拉德/ Demitrian,

非常感謝您的回覆。請在下面找到輸出窗口的內容。有一個XamlParseException但沒有附加信息。我還附加了Windows Phone的「Decuments \ Debug」文件夾中的調試日誌。

從輸出窗口內容:

'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 

編輯2:
我做了在這個問題上取得了一些進展。 FontFamily屬性在我的情況下造成問題。因此,如果刪除fontfamily屬性並在發佈模式下運行應用程序,則不會再拋出異常,但屏幕在設備上呈現的方式看起來不像調試模式中呈現的那樣。

我附上了兩個屏幕截圖。我嘗試在John中講述的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部署應用程序時,它導致應用程序崩潰並在我上面的響應中提到了UI問題。

爲了解決這個問題,我回到了與Xamarin Forms的2.3.2.127版本兼容的地圖的情人版本,瞧!

看起來Xamarin Forms的2.3.3.180版本存在一個bug。

0

一對夫婦的快速說明:

1.-貌似註冊按鈕正在所有的屏幕高度,你試圖指定此按鈕高度?類似於:

Button.HeightRequest = "40"; 

2.-你有沒有嘗試鏈接行爲「不要鏈接」?

enter image description here

相關問題