Unity在启动时使用TypeInitializationException导致WP8.1应用程序崩溃

本文关键字:WP8 导致 应用程序 崩溃 TypeInitializationException 启动 Unity | 更新日期: 2023-09-27 18:06:37

我在Unity3D中制作了一个简单的游戏,并创建了一个Windows Phone版本。然而,当我尝试运行游戏时,它会立即与TypeInitializationException一起崩溃。

崩溃发生在生成的MainPage.xaml.cs文件中,在构造函数中:

// Constructor
public MainPage()
{
    var bridge = new UnityBridge();
    UnityApp.SetBridge(bridge);
    InitializeComponent();
    bridge.Control = DrawingSurfaceBackground; // <--- This line = crash
}

确切的错误如下:

TypeInitializationException was unhandled by user code
An exception of type 'System.TypeInitializationException' occurred in WinRTBridge.DLL but was not handled in user code
Additional information: The type initializer for 'WinRTBridge.WinRTBridge' threw an exception.

为什么会发生这种情况?我该如何解决这个问题?

Unity在启动时使用TypeInitializationException导致WP8.1应用程序崩溃

当类初始值设定项无法初始化类型时,会创建一个TypeInitializationException,并传递对该类型的类初始值设置项引发的异常的引用。TypeInitializationExceptionInnerException属性包含基础异常。请尝试记录此属性,并查看实际导致异常的原因。绕过它的另一种方法是将它封装在try{}catch(TypeInitializationException)块中。