如何从命令行启动WinUI3应用?解决error_class_not_registered报错
解决WinUI3应用命令行启动时的
error_class_not_registered错误 WinUI3应用依赖Windows App SDK的组件注册流程,直接运行exe会跳过必要的注册步骤,从而触发类未注册错误。以下是几种可行的解决方式:
1. 注册MSIX包(适用于打包的WinUI3应用)
如果你的WinUI3应用是基于MSIX打包构建的:
- 打开管理员PowerShell,切换到应用的输出目录(例如
x64\Debug\App1) - 执行注册命令:
注册完成后,直接运行Add-AppxPackage -Register .\App1_Package\AppxManifest.xmlApp1.exe即可。
2. 配置未打包应用的环境(适用于非MSIX打包的WinUI3桌面应用)
若你使用的是未打包的WinUI3桌面项目:
- 先确认已安装对应版本的Windows App SDK Runtime(Debug版本需安装Debug运行时,Release版本用正式版运行时)
- 在命令行中设置调试环境变量(仅Debug版本需要):
关闭当前命令行窗口,重新打开后直接运行setx WINAPPSDK_RELEASE_CHANNEL Preview setx WINUI3_DEBUG 1App1.exe。
3. 使用项目自带的注册脚本
Visual Studio构建WinUI3项目时,会在输出目录生成自动注册脚本(例如RegisterForTesting.ps1):
- 打开PowerShell,导航到输出目录
- 运行脚本:
脚本执行完成后即可启动exe。.\RegisterForTesting.ps1
内容的提问来源于stack exchange,提问作者Tom Huntington
相关产品推荐
相关产品推荐

