WinUI3 应用程序引发异常 - 我错过了啥?

Posted

技术标签:

【中文标题】WinUI3 应用程序引发异常 - 我错过了啥?【英文标题】:WinUI3 App Throws Exception - What Have I Missed?WinUI3 应用程序引发异常 - 我错过了什么? 【发布时间】:2021-11-11 20:27:13 【问题描述】:

我最近升级了 Visual Studio 2019 以安装 Project Reunion 模板,以便我可以运行 WinUI3 应用程序。我关注了这个guide。我相信我从list 安装了所有工作负载和组件,但我可能错过了一些东西。我安装了模板,当我尝试创建新应用时它们会显示出来。

这里是我的 Visual Studio 安装的详细信息。

Microsoft Visual Studio Professional 2019

版本 16.11.3

VisualStudio.16.Release/16.11.3+31702.278

微软 .NET 框架

版本 4.8.04084

当我尝试运行应用程序时,我收到以下错误消息:

System.Reflection.TargetInvocationException H结果=0x80131604 Message=Exception 已被调用的目标抛出。 源=System.Private.CoreLib 堆栈跟踪: 在 System.RuntimeTypeHandle.CreateInstance(RuntimeType 类型,Boolean publicOnly,Boolean wrapExceptions,Boolean& canBeCached,RuntimeMethodHandleInternal& ctor,Boolean& hasNoDefaultCtor) 在 System.RuntimeType.CreateInstanceDefaultCtorSlow(布尔 publicOnly,布尔 wrapExceptions,布尔填充缓存) 在 System.RuntimeType.CreateInstanceDefaultCtor(布尔 publicOnly,布尔 skipCheckThis,布尔 fillCache,布尔 wrapExceptions) 在 System.Activator.CreateInstanceT 在 WinRT.WeakLazy`1.get_Value() 在 Microsoft.UI.Xaml.Application._IApplicationStatics.get_Instance() 在 Microsoft.UI.Xaml.Application.Start(ApplicationInitializationCallback 回调) 在 C:\Users\chris\source\repos\App9\App9\App9\obj\x64\Debug\net5.0-windows10.0.19041.0\App.gics 中的 App9.Program.Main(String[] args) :第 26 行

此异常最初是在此调用堆栈中引发的: [外部代码]

内部异常 1: COMException: 类未注册 (0x80040154 (REGDB_E_CLASSNOTREG))

已安装的工作负载:

指南说安装C++ (v142) Universal Windows Platform tools。我在安装程序中看到了这个:

【问题讨论】:

【参考方案1】:

当我不小心将错误的项目设置为 Visual Studio 中的启动项目时,我已经看到引发了这种类型的异常。

WinUI 应用目前有两个项目:主应用项目和打包项目(生成 MSIX)。调试WinUI应用,需要将打包项目设置为启动项目。

展望未来,团队正在努力将两者合并以应对最常见的场景。更复杂的场景可能仍需要打包项目。您可以使用以下任一 Visual Studio 扩展来试用单个项目:

Visual Studio 2022 Visual Studio 2019

【讨论】:

【参考方案2】:

确保您已在 PC 上启用了开发人员模式(Windows 设置 > 更新和安全 > 对于开发人员 > 开发人员模式 > 开启)。以及扩展名:Project Reunion,请确保您已安装。

那么问题应该和系统或者其他的东西有关。

适用于 Windows 系统

1)。尝试使用SFC tool 修复丢失或损坏的系统文件。

2)。检查是否记录了 Windows Update 的任何错误,并使用Windows Troubleshooter 修复它们。

3)。尝试更新 Windows。

其他方面

1)。 Clear NuGet cache.

2)。还原 NuGet 包:右键单击解决方案 > 还原 NuGet 包。

3)。 Repair Visual Studio 2019.

4)。删除解决方案/项目文件夹中的 .vsbinobj 文件夹,然后重新构建解决方案并运行它。

5)。暂时禁用防病毒软件并重新启动您的计算机,然后重试。

6)。将配置更改为 x86 并再次运行。

【讨论】:

以上是关于WinUI3 应用程序引发异常 - 我错过了啥?的主要内容,如果未能解决你的问题,请参考以下文章

python:我怎么知道发生了啥类型的异常?

死的简单 MVVM 应用程序的 ListBox 保持为空 - 我错过了啥?

引导程序是不是干扰了我的 Jqueryui 或者我错过了啥?

未发送有关可用应用更新的 Google Play 推送通知。我错过了啥吗?

MFC SetRegistryKey 功能相反?我错过了啥?

UINavigationController - 应用程序试图在目标上推送一个 nil 视图控制器,我错过了啥?