为版本

时间:2015-12-24 19:10:53

标签: c# windows-10 mvvmcross uwp .net-native

我有一个非常奇怪的问题。

我们编写了一个Windows Phone 8.1应用程序,并将其升级为UWP。该应用程序的调试版本运行良好,但是,当我在发布时运行它时,我收到此错误:

  

Internal.Runtime.TypeLoader.TypeBuilder + MissingTemplateException:抛出了类型“{0}”的异常.Internal.Runtime.TypeLoader.TypeBuilder + MissingTemplateException。有关详细信息,请访问http://go.microsoft.com/fwlink/?LinkId=623485

尝试打开特定的ViewModel时(使用MvvmCross)。它只发生在这个ViewModel上,尽管它看起来并不特别。

请注意,我正在使用.NetNative进行编译。如果我禁用它,它工作正常,但我无法在没有它的情况下将应用程序发布到商店。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

这是.NET Native中的运行时异常之一。您最有可能通过向Default.rd.xml文件添加内容来解决此问题。

为了正确诊断这一点,我建议为项目的DEBUG配置启用.NET Native编译(项目属性> BUILD>启用.Net Native复选框)。然后,将调试器设置为在第一次机会异常时停止。 如果您可以转到Update 1,则消息会更好一些。

经过深入挖掘后,我很想知道最终会发生什么。发现这种类型的错误非常罕见,所以知道我们可以做得更好的地方会很棒。欢迎您随时通过dotnetnative@microsoft.com向我们发送具体反馈。

答案 1 :(得分:0)

问题似乎是违规的ViewModel有一个返回任务的Init方法:

public async Task Init(...)

通过将其更改为无效来修复:

public async void Init(...)

不太清楚为什么,但它有效...