为 Release 编译的 UWP 中的 MissingTemplateException
MissingTemplateException in UWP compiled for Release
我遇到了一个很奇怪的问题。
我们编写了一个 Windows Phone 8.1 应用程序,并将其升级到 UWP。该应用程序的调试版本运行良好,但是,当我 运行 发布时,出现此错误:
Internal.Runtime.TypeLoader.TypeBuilder+MissingTemplateException: Exception of type '{0}' was thrown., Internal.Runtime.TypeLoader.TypeBuilder+MissingTemplateException. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485
尝试打开特定的 ViewModel 时(使用 MvvmCross)。它只发生在这个 ViewModel 上,尽管它看起来并不特别。
请注意,我是在启用 .NetNative 的情况下编译它的。如果我禁用它,它可以正常工作,但没有它我无法将应用程序发布到商店。
如有任何帮助,我们将不胜感激。
这是 .NET Native 中的运行时异常之一。您很可能可以通过向 Default.rd.xml 文件中添加一些内容来解决此问题。
为了正确诊断这一点,我建议为项目的 DEBUG 配置启用 .NET Native 编译(项目属性 > BUILD > 启用 .Net Native 复选框)。然后,将调试器设置为在第一次出现异常时停止。
如果您可以移动到 Update 1,消息会好一点。
深入挖掘之后,我很想知道它最终会变成什么样子。遇到这种类型的错误是非常罕见的,所以很高兴知道我们可以改进的地方。随时欢迎您通过 dotnetnative@microsoft.com.
向我们发送具体反馈
看来问题是有问题的 ViewModel 有一个返回任务的 Init 方法:
public async Task Init(...)
通过将其更改为 void 来修复:
public async void Init(...)
不太清楚为什么,但它有效...
我遇到了一个很奇怪的问题。
我们编写了一个 Windows Phone 8.1 应用程序,并将其升级到 UWP。该应用程序的调试版本运行良好,但是,当我 运行 发布时,出现此错误:
Internal.Runtime.TypeLoader.TypeBuilder+MissingTemplateException: Exception of type '{0}' was thrown., Internal.Runtime.TypeLoader.TypeBuilder+MissingTemplateException. For more information, visit http://go.microsoft.com/fwlink/?LinkId=623485
尝试打开特定的 ViewModel 时(使用 MvvmCross)。它只发生在这个 ViewModel 上,尽管它看起来并不特别。
请注意,我是在启用 .NetNative 的情况下编译它的。如果我禁用它,它可以正常工作,但没有它我无法将应用程序发布到商店。
如有任何帮助,我们将不胜感激。
这是 .NET Native 中的运行时异常之一。您很可能可以通过向 Default.rd.xml 文件中添加一些内容来解决此问题。
为了正确诊断这一点,我建议为项目的 DEBUG 配置启用 .NET Native 编译(项目属性 > BUILD > 启用 .Net Native 复选框)。然后,将调试器设置为在第一次出现异常时停止。 如果您可以移动到 Update 1,消息会好一点。
深入挖掘之后,我很想知道它最终会变成什么样子。遇到这种类型的错误是非常罕见的,所以很高兴知道我们可以改进的地方。随时欢迎您通过 dotnetnative@microsoft.com.
向我们发送具体反馈看来问题是有问题的 ViewModel 有一个返回任务的 Init 方法:
public async Task Init(...)
通过将其更改为 void 来修复:
public async void Init(...)
不太清楚为什么,但它有效...