[英]System.ExecutionEngineException on Windows 10 device
我正在開發Windows Phone 8.1應用程序。 它在WP 8和WP 8.1設備上可以正常工作,但在裝有Windows 10的設備上會拋出異常
ExecutionEngineException was unhandled. An unhandled exception of type 'System.ExecutionEngineException' occurred in Unknown Module.
在“調試”和“發布”的各個部分中,都沒有出現問題的任何數據。 在某些地方,總是會引發異常,在某些地方會不時引發異常。 下面的示例代碼引發異常-它基本上是在選項卡之間切換的方法,這些選項卡是在點擊按鈕(帶有圖像的網格)時使用的StackPanels:
private void Grid_Tapped(object sender, TappedRoutedEventArgs e)
{
if(!isMapVisible)
{
hideSection();
map_wrapper.Visibility = Windows.UI.Xaml.Visibility.Visible;
map_button.Background = new SolidColorBrush(ColorHelper.FromArgb(0xFF, 40, 110, 73));
map_icon.Source = new BitmapImage(new Uri(FileHelper.getIconPath("tu_2.png")));
isMapVisible = true;
}
}
private void hideSection()
{
if(isMapVisible)
{
map_button.Background = new SolidColorBrush(ColorHelper.FromArgb(0xFF, 238, 238, 238));
map_icon.Source = new BitmapImage(new Uri(FileHelper.getIconPath("tu.png")));
isMapVisible = false;
map_wrapper.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
}
else if(isPhotoVisible)
{
photo_button.Background = new SolidColorBrush(ColorHelper.FromArgb(0xFF, 238, 238, 238));
photo_icon.Source = new BitmapImage(new Uri(FileHelper.getIconPath("photo_green.png")));
isPhotoVisible = false;
image_wrapper.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
}
else if(isListVisible)
{
list_button.Background = new SolidColorBrush(ColorHelper.FromArgb(0xFF, 238, 238, 238));
list_icon.Source = new BitmapImage(new Uri(FileHelper.getIconPath("!2.png")));
isListVisible = false;
news_wrapper.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
}
}
最終,我設法修復了代碼。 但是錯誤不在上面的代碼中。 我使用了一種叫做“安全導航”的東西。 該示例顯示在以下代碼中:
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
rootFrame.Navigate(typeof(MainPage));
});
我還使用await
運算符處理了所有異步方法(在異步運行之前,我已經離開了其中的一些方法)。 這些改進之一修復了該錯誤。
我知道這比原始帖子要晚兩年,但這也許會幫助某人尋找該問題的答案。 我一直從Window 10 UWP桌面應用程序獲得明顯的隨機System.ExecutionEngineExceptions。 幾天后,我找到了解決我特定問題的答案。 我使用了MVVM平台,而我的其中一個視圖中的x:UID已損壞。
它應該已經: <TextBlock x:Uid =“ Battery ...
它是: <TextBlock x:Uid =“ =電池”
該錯誤並未標記為XAML問題,因為許多與此類似的語法錯誤都在其中,但是一旦我糾正了該錯誤,通過刪除了不需要的等號,該異常就消失了。
希望這對其他人有幫助。
克萊德
也要添加到上面。 XAML引擎不檢查重復的x:Uid,當我有兩個同名的x:Uid時,我也收到此錯誤。 使整個項目中的所有x:Uid都唯一(不幸地擴展了資源文件),但這解決了所有其他問題。 希望XAML設計器檢查是否存在重復的x:Uid,這是對x:Name所做的。
同樣,希望它對將來的人有所幫助。
干杯,
克萊德
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.