Windows 10设备上的System.ExecutionEngineException

时间:2016-07-06 08:33:17

标签: c# windows-phone-8.1 windows-10-mobile

我正在开发一个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.

在“调试”和“发布”的各个部分中没有任何关于出错的数据。有些地方总是抛出异常,有些地方不时会抛出异常。下面的示例代码抛出了异常 - 它基本上是一种在标签之间切换的方法,当点击按钮(Grid with Image)时,它们就是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;
    }
}

3 个答案:

答案 0 :(得分:2)

最后我设法修复了代码。但是,上述代码中的错误并非如此。我使用了名为" Safe Navigation"的东西。示例显示在下面的代码中:

Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
    rootFrame.Navigate(typeof(MainPage));
});

我还使用await运算符处理了所有异步方法(我之前离开了一些异步方法)。其中一项改进修复了错误。

答案 1 :(得分:0)

我知道这比原始帖子要晚两年,但这也许会帮助寻找该问题答案的人。我一直从Window 10 UWP桌面应用程序获得明显的随机System.ExecutionEngineExceptions。几天后,我找到了解决我特定问题的答案。我曾经使用过MVVM平台,而其中一个视图中的x:UID已损坏。

应该已经:

它是

该错误并未标记为XAML问题,因为与此类似的语法错误很多,但是一旦我通过删除不需要的等号更正了该错误,该异常就消失了。

希望这对其他人有帮助。

克莱德

答案 2 :(得分:0)

也要添加到上面。 XAML引擎不检查重复的x:Uid,当我有两个同名的x:Uid时,我也收到此错误。使整个项目中的所有x:Uid都唯一(不幸地扩展了资源文件),但这解决了所有其他问题。希望XAML设计器检查是否有重复的x:Uid是x:Name的。

再次,希望它对以后的人有所帮助。

干杯

克莱德