.NET MAUI Essentials Authenticator UWP端缺失AppxManifest.xml错误求助
解决方案
Could not find file 'C:\Windows\system32\AppxManifest.xml' 错误的根因是WebAuthenticator在Windows平台运行时,依赖应用打包清单中的协议声明验证回调地址,未打包模式下不会生成对应清单文件,因此触发报错。可按照以下步骤修复:
- 第一步:切换为打包模式运行
调试时在Visual Studio的启动下拉选项中,选择带打包标识的Windows启动项,禁止使用未打包模式运行涉及WebAuthenticator的功能。 - 第二步:注册回调URI协议
打开项目下Platforms/Windows/Package.appxmanifest文件,在<Applications>节点内的对应<Application>节点下添加协议扩展声明,示例配置如下:
注意<Extensions> <uap:Extension Category="windows.protocol"> <uap:Protocol Name="xamarinessentials"> <uap:DisplayName>OAuth 回调协议</uap:DisplayName> </uap:Protocol> </uap:Extension> </Extensions>Name属性的值要和你代码中回调URI的scheme完全一致,你代码中使用的回调是xamarinessentials://,所以这里填xamarinessentials即可。 - 第三步:确认服务端回调配置
你使用的OAuth身份提供商后台,需要将xamarinessentials://加入允许的回调地址白名单,避免后续鉴权被拦截。 - 第四步:升级MAUI版本
如果上述配置完成还是报错,将项目的.NET MAUI版本升级到对应.NET版本的最新稳定补丁,旧版本的MAUI Essentials存在Windows平台WebAuthenticator的兼容bug,升级后可直接修复。
目前已有大量开发者在Windows 11的MAUI项目中通过上述配置成功实现了Essentials WebAuthenticator的身份验证功能,按步骤配置即可正常使用。
内容的提问来源于stack exchange,提问作者Matteo Beretta
相关产品推荐
相关产品推荐

