我正在开发一个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;
}
}
答案 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的。
再次,希望它对以后的人有所帮助。
干杯
克莱德