System.ExecutionEngineException 在 Windows 10 台设备上
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.
在 "Debug" 和 "Release" 的各个部分中,没有任何关于错误原因的数据。有些地方总是会抛出异常,而有些地方会不时抛出异常。下面的示例代码抛出异常 - 它基本上是一种在选项卡之间切换的方法,当点击按钮(带有图像的网格)时,这些选项卡是 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;
}
}
最后我设法修复了代码。但是错误不在上面的代码中。我使用了一个叫做 "Safe Navigation" 的东西。示例如下代码所示:
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
rootFrame.Navigate(typeof(MainPage));
});
我还使用 await
运算符处理了所有异步方法(我在 运行 之前将其中一些方法异步处理)。其中一项改进修复了错误。
我知道这比原来的 post 晚了两年多,但也许这会帮助寻找此问题答案的人。我一直在从 Window 10 UWP 桌面应用程序中随机获取 System.ExecutionEngineExceptions。几天后,我找到了我的特定问题的答案。我使用了 MVVM 平台,我的一个视图中的 x:UID 已损坏。
它应该是:
该错误未被标记为 XAML 问题,因为与此类似的语法错误很多,但一旦我更正了该错误,通过删除不需要的等号,异常就消失了。
希望这对其他人有帮助。
克莱德
上面还有想补充的。 XAML 引擎不检查重复的 x:Uid,当我有两个同名的 x:Uid 时,我也遇到了这个错误。使我整个项目中的所有 x:Uid 都是唯一的(不幸的是扩展了资源文件),但这解决了任何进一步的问题。希望 XAML 设计师检查重复的 x:Uid 是否为 x:Name 所做的。
再说一次,希望对以后的人有所帮助。
干杯,
克莱德
我正在开发 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.
在 "Debug" 和 "Release" 的各个部分中,没有任何关于错误原因的数据。有些地方总是会抛出异常,而有些地方会不时抛出异常。下面的示例代码抛出异常 - 它基本上是一种在选项卡之间切换的方法,当点击按钮(带有图像的网格)时,这些选项卡是 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;
}
}
最后我设法修复了代码。但是错误不在上面的代码中。我使用了一个叫做 "Safe Navigation" 的东西。示例如下代码所示:
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
rootFrame.Navigate(typeof(MainPage));
});
我还使用 await
运算符处理了所有异步方法(我在 运行 之前将其中一些方法异步处理)。其中一项改进修复了错误。
我知道这比原来的 post 晚了两年多,但也许这会帮助寻找此问题答案的人。我一直在从 Window 10 UWP 桌面应用程序中随机获取 System.ExecutionEngineExceptions。几天后,我找到了我的特定问题的答案。我使用了 MVVM 平台,我的一个视图中的 x:UID 已损坏。
它应该是: 该错误未被标记为 XAML 问题,因为与此类似的语法错误很多,但一旦我更正了该错误,通过删除不需要的等号,异常就消失了。 希望这对其他人有帮助。 克莱德
上面还有想补充的。 XAML 引擎不检查重复的 x:Uid,当我有两个同名的 x:Uid 时,我也遇到了这个错误。使我整个项目中的所有 x:Uid 都是唯一的(不幸的是扩展了资源文件),但这解决了任何进一步的问题。希望 XAML 设计师检查重复的 x:Uid 是否为 x:Name 所做的。
再说一次,希望对以后的人有所帮助。
干杯,
克莱德