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

.NET 9 Blazor MAUI Hybrid安卓Release模式XML验签空异常问题

.NET 9 Blazor MAUI Hybrid安卓Release模式XML签名验证空异常解决方案

问题背景

我维护的基于.NET 9的Blazor MAUI Hybrid应用里,包含一个负责XML签名验证的类库。遇到了一个特定场景下的异常问题:仅在安卓Release模式调用CheckSignature方法时会抛出空异常,但安卓Debug模式(真机、模拟器均可)、Windows平台运行完全正常。排查确认RSA公钥、待验证的签名XML、签名节点都能正常加载,排除了数据加载层面的问题。

无效的排查尝试

一开始尝试了两种常见的剪裁优化相关方案,但均未解决问题:

  • 在项目csproj文件中,将System.Security.Cryptography.Xml添加到TrimmerRootAssembly列表,防止该程序集被剪裁
  • 配置Proguard规则,避免相关代码被混淆或移除

有效解决方法

最终通过将System.Security.Cryptography程序集加入TrimmerRootAssembly列表,成功解决了空异常问题。

后续优化建议

为避免过度保留程序集导致应用体积增大,后续可通过TrimmerRootDescriptor创建更精准的剪裁配置,只保留XML签名验证所需的特定类型或成员,而非整个程序集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:52:33