WINUI多点触控致程序崩溃

开发的图像软件在在进行多点触摸测试时,出现了程序崩溃。查看了程序了日志,全局异常捕捉并未将这个异常捕捉到,并记录到崩溃日志里。

怀疑不是程序的编码问题,可能是由于其他原因造成所致。于是习惯性的打开事件查看器,查看应用程序相关日志,找到了一条应用程序崩溃事件:

 其详细信息如下:

从详细信息上看到崩溃的原因是由于Microsoft.InputStateManager.dll所致。

 

以下为此bug在github上的详细情况及修复方法(此bug在):

Simultaneous Mouse and multi-touch input Crash (CppWinRT) · Issue #7622 · microsoft/microsoft-ui-xaml (github.com)

 

对于github上提供的修复方法,在此做一个补充,单纯的升级项目中引用的Microsoft.WindowsAppSDK到1.4及以上会导致程序不能正常的的编译(并且即使将SDK退回原来的版本,同样也不能编译了)。

在没有办法的情况下,重新添加相应的UI项目,并将原来的代码copy到了新的UI项目中(注意变更命名空间,在APP中引入相应的自定义样式等资源,否则将导致不能正常编译或打开程序后异常)。

 

可能存在的升级后的简单修复方法,一定是要将SDK升级到1.4的啊,根据经验,可以将这个项目所依赖的所有Nuget包删除(或者只删除SDK相关的;全部删除是为了避免找不全与SDK相关的),然后重新生成让程序重新生成来解决。此为经验之谈,目前还未进行相应的尝试。

 

posted @ 2023-11-10 18:25  盛沧海  阅读(96)  评论(0编辑  收藏  举报