MAUI應用程序在未調試時崩潰,TextColor的InvalidCastException

我制作了一個MAUI應用程序,可以在模擬器中運行和調試,但每當我在沒有調試的情況下運行它時(在模擬器或物理設備上),它在打開某些頁面時會崩潰。我在Visual Studio中啟用了報告所有異常,現在在調試時,我遇到了很多奇怪的錯誤,其中一個是InvalidCastException。看起來,該框架以某種方式試圖解釋XAML中的一些TextColor值,但失敗了。

在引發此異常的頁面上,我刪除了所有TextColor值賦值,但不幸的是,我仍然收到了異常。

如果有人知道解決這個問題的辦法,我將不勝感激。

{System.InvalidCastException:指定的強制轉換無效。在Microsoft.Maui.Controls.TextElement.OnTextColorPropertyChanged(BindableObject bindable,Object oldValue,Object newValue)在D:\a_work\1\s\src\Controls\src\Core\TextElement.cs:line 24的Microsoft.Maui.Controls.BindableObject.SetValueActual(BindableProperty屬性,BindablePropertyContext上下文,Object值,Boolean currentlyApplying,SetValueFlags屬性,SetterSpecificity specificity,Boolean silent)在Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty的D:\a_work\1\s\src\Controls\src\Core\BindableObject.cs:line 643中,在Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty屬性的{@3} 569中,對象值,SetValueFlags屬性,SetValuePrivateFlags privateAttributes,SetterSpecificity specificity)在{@15}的D:\a_work\1\s\src\Controls\src\Core\MergedStyle.cs:line 503中,在目標的Microsoft.Maui.Controls.Setter.Apply(BindableObject中,SetterSpeciality specificity(在Microsoft.Maui.Controls.Style.ApplyCore(BindableObject bindable的D:\a_work\1\s\src\Controls\src\Core\Setter.cs:line 81中),Style basedOn,SetterSpecificity specificity)在Microsoft.Maui.Controls.Style.Microsoft.Maui.Controls.IStyle.Apply(BindableObject處的D:\a_work\1\s\src\Controls\src\Core\Style.cs:line 176中bindable,SetterSpecificity specificity在D:\a_work\1\s\src\Controls\src\Core\Style.cs:line 107中的Microsoft.Maui.Controls.MergedStyle.SetStyle(IStyle implicitStyle,IList`1 classStyles,IStyle Style)在D:\a_work\1\s\src\Controls\src\Core\MergedStyle.cs:line 211中的Microsoft.Maui.Controls.MergedStyle.set_Style(IStyle value)在Microsoft的D:\a_work\1\s\src\Controls\src\Core\MergedStyle.cs:line 46中。毛伊島。控制。NavigableElement。<>c.<.cctor>b__22_0(BindableObject可綁定,Object oldvalue,Object newvalue)在D:\a_work\1\s\src\Controls\src\Core\Shell\NavigableElement.cs:line 21的Microsoft.Maui.Controls.BindableObject.SetValueActual(BindableProperty屬性中,BindablePropertyContext上下文,Object value,Boolean currentlyApplying,SetValueFlags屬性,SetterSpecificity specification,Boolean silent)在D:\a_work\1\s\src\Controls\src\Core\BindableObject.cs:line 643的Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty屬性、Object value,SetValueFlags屬性,SetValuePrivateFlags privateAttributes,SetterSpecificity specification)在Microsoft.Maui.Controls.Style.ApplyCore(BindableObject 569的Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty屬性中、Object value)在D:\a_work\1\s\src\Controls\src\Core\BindableObject.cs:line 474的InvalidCastException元素中、BindableProperty屬性、附加布爾值、Object value、IXmlLineInfo行D:\a_work\1\s\src\Controls\src\Xaml\ApplyPropertiesVisitor.cs:line 631}中的信息、IServiceProvider serviceProvider、異常和異常)

? 最佳回答:

因此,解決方案是啟用在VS中捕獲所有異常(調試>窗口>異常設置Ctrl+Alt+E)。然后我就抓住了InvalidCastException。然后,我在我的應用程序中找到了引發此異常的最簡單的XAML頁面(顯然,它是由XAML解釋器引發的,所以我不能只以經典的step-by-step方式調試它)。然后我刪除了該頁面中的所有內容(記得備份),然后我開始逐一添加所有組件并重新啟動應用程序,直到我看到錯誤的開始。

事實證明,我有一個Button,它應用了一個樣式(Style="{StaticResource PrimaryButton}"),樣式的定義在App.xaml文件中。

<Style x:Key="PrimaryButton" TargetType="Button">
    <Setter Property="BackgroundColor" Value="{StaticResource Primary}"/>
    <Setter Property="TextColor" Value="#e6eaed"/>
</Style>

定義包含TextColor屬性的SetterValue。由于某些原因,XAML解釋器出現問題。刪除帶有Setter的行后,錯誤消失,應用程序開始正常工作。TextColor是從其他對象繼承的,所以它仍然和我需要的一樣(幸運的是)。

主站蜘蛛池模板: 精品一区二区三区无码免费视频| 久久精品无码一区二区三区不卡| 日韩爆乳一区二区无码| 国产91精品一区二区麻豆网站| 精品欧洲av无码一区二区| 中文字幕无码免费久久9一区9| 狠狠做深爱婷婷久久综合一区| 亚洲香蕉久久一区二区| 色噜噜狠狠一区二区三区果冻| 国产精品 一区 在线| 日韩精品一区二区三区不卡| 成人区人妻精品一区二区不卡| 亚洲一区影音先锋色资源| 久久精品国产一区二区三区日韩| 亚洲福利视频一区二区| 美女AV一区二区三区| 国产剧情一区二区| 日韩视频一区二区在线观看| 亚洲另类无码一区二区三区| 中文字幕无码不卡一区二区三区| 人妻天天爽夜夜爽一区二区 | 一区二区在线免费视频| 国产丝袜一区二区三区在线观看| 欧美日韩精品一区二区在线观看| 精品成人乱色一区二区| 亚洲中文字幕乱码一区| 国产成人精品一区二三区熟女| 亚洲AV成人精品一区二区三区 | 国产a∨精品一区二区三区不卡 | 一区二区乱子伦在线播放| 最美女人体内射精一区二区| 亚洲av无码一区二区三区网站| 亚洲电影一区二区三区| 国产乱码精品一区二区三区中| 竹菊影视欧美日韩一区二区三区四区五区 | 亚洲日韩精品国产一区二区三区| 国产韩国精品一区二区三区久久| 中文乱码人妻系列一区二区| 国产在线无码视频一区| 国产一区在线视频| 亚洲一区二区三区不卡在线播放|