You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI升级到.NET 9后Android端MSAL登录卡顿求助

.NET 9 MAUI 对接Azure AD B2C Android端登录卡顿、页面无法加载问题排查

我在基于.NET 9的.NET MAUI应用中使用MSAL对接Azure AD B2C实现用户认证,此前.NET 8版本功能正常,但升级到.NET 9后,Android端登录流程出现卡顿——浏览器能启动但无法加载登录页面,iOS端运行正常。控制台输出如下警告:

MSAL: EventLogLevel: Warning, Message: False MSAL 4.66.2.0
MSAL.Xamarin.Android .NET 9.0.0 32 [2025-01-08 07:15:15Z -
a4d1f3c3-5806-4c30-976f-e8a4dd617008] Browser with custom tabs package
not available. Launching with alternate browser.

应用代码基于微软官方MAUI MSAL示例实现,仅新增bool shouldPromptLogin参数,让用户手动进入LoginPage.xaml点击按钮触发登录,而非自动弹出浏览器。已尝试注释MSALClientHelper.cs中的.WithUseEmbeddedWebView(true),但问题未解决。

解决建议

  • 升级MSAL版本:当前使用的MSAL 4.66.2版本对.NET 9兼容性可能不足,升级到最新稳定版(如5.x系列),新版本通常会修复.NET版本适配问题。
  • 强制启用嵌入式WebView:保留.WithUseEmbeddedWebView(true)配置,不要注释。Android端在.NET 9下系统浏览器的自定义标签页存在兼容性问题,嵌入式WebView可绕过该限制。
  • 检查Android权限配置:确认AndroidManifest.xml中添加了必要的网络权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  • 清理缓存并重建项目:删除项目的bin、obj目录,清理NuGet缓存后重新构建,避免.NET版本升级后残留的旧编译文件引发冲突。
  • 验证重定向URI配置:确保Azure AD B2C应用注册中的重定向URI与MAUI Android项目配置一致(格式为msal{ClientId}://auth),同时检查AndroidManifest.xml中是否正确配置了对应的intent-filter。
  • 测试系统浏览器兼容性:确认设备默认浏览器为最新版本,若使用旧版系统浏览器可能无法适配.NET 9的Web启动逻辑,可尝试更换Chrome等主流浏览器测试。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:47:31