Microsoft推送通知示例部署运行失败:打包与非打包项目均遇问题
Windows App SDK推送通知示例运行问题解决方案
一、前置准备步骤
- 确认Visual Studio版本为2022 17.4及以上,且已安装Windows应用开发工作负载,包含Windows App SDK相关组件
- 安装与示例NuGet包版本完全匹配的Windows App SDK稳定版运行时,可在
设置>应用>应用和功能中确认已安装对应版本的"Windows App SDK Runtime" - 克隆示例后,右键解决方案选择
还原NuGet包,确保所有依赖下载完成
二、打包项目问题(Deploy选项消失+hresult_class_not_registered异常)
解决步骤
- 修复MSIX打包组件
打开Visual Studio安装器,选择"修改",在"单个组件"中勾选MSIX打包工具和Windows App SDK C++打包工具,完成安装后重启VS - 重建项目配置
- 删除解决方案下的
.vs、bin、obj目录清理缓存 - 右键打包项目(后缀为
Package的项目),依次选择"卸载项目"→"重新加载项目" - 右键打包项目选择"生成",检查Deploy选项是否恢复
- 删除解决方案下的
- 手动部署MSIX包
若Deploy选项仍未恢复,找到打包项目生成的MSIX文件(通常在bin\x64\Release/Debug目录),双击完成安装后再运行客户端项目 - 修复WinRT类注册
以管理员身份打开命令提示符,执行以下命令:
重启电脑后重新运行项目regsvr32.exe %systemroot%\system32\pushnotifications.dll
三、非打包项目问题(找不到兼容Windows App SDK)
解决步骤
- 强制版本匹配
- 右键项目选择"管理NuGet程序包",确保
Microsoft.WindowsAppSDK包版本与已安装的运行时版本完全一致 - 编辑项目
.vcxproj文件,将<WindowsAppSDKSelfContained>节点设置为false
- 右键项目选择"管理NuGet程序包",确保
- 启用开发人员模式
打开设置>隐私和安全性>开发人员选项,启用"开发人员模式"并勾选"允许开发人员使用旁加载应用" - 修复运行时注册
以管理员身份打开PowerShell,导航到Windows App SDK安装目录的Redist\x64文件夹(默认路径C:\Program Files\WindowsApps\Microsoft.WindowsAppSDK_*\Redist\x64),执行InitializeRuntime.ps1脚本 - 清理重建项目
删除项目的bin和obj目录,选择"生成>清理解决方案"后重新生成项目
四、功能验证
- 运行客户端项目,复制输出的推送通道URL
- 通过Postman向Azure通知中心发送测试通知,确认消息可正常推送到客户端
- 检查Azure通知中心配置:确保Windows平台的包SID和密钥已正确配置(打包项目用MSIX包SID,非打包项目用应用注册SID)
内容的提问来源于stack exchange,提问作者Zohar81
相关产品推荐
相关产品推荐

