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

.NET MAUI Android平台合并资源字典丢失问题求助

.NET MAUI Android平台MergedDictionaries仅加载首个资源字典问题

问题场景

在应用的资源字典中添加了4个资源文件,均位于同一文件夹,生成操作设置为MauiXaml,对应的XAML代码如下:

<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:CMO3"
             x:Class="CMO3.App">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Resources/Styles/Colors.xaml" />
                <ResourceDictionary Source="Resources/Styles/CMOColors.xaml"/>

                <ResourceDictionary Source="Resources/Styles/Styles.xaml" />
                <ResourceDictionary Source="Resources/Styles/CMOStyles.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

Windows平台运行时所有资源字典均可正常加载显示,但部署到三星S20 FE 5G(Android平台)时,仅首个默认的Colors.xaml文件生效,其余合并字典未加载。虽然可以手动合并字典,但不清楚Android平台下MergedDictionaries失效的具体原因。

可能原因及排查方向

  • 路径大小写不匹配:Android文件系统对路径大小写敏感,需检查XAML中Source属性的路径大小写是否与实际文件路径完全一致(比如实际文件名是CMOColors.xaml,代码中不能写成cmocolors.xaml)。
  • 生成操作配置错误:确认除Colors.xaml外的其他资源文件,生成操作确实设置为MauiXaml。可右键文件→属性→生成操作,逐一核对是否有误设为Content或其他类型的情况。
  • 资源字典语法错误:检查CMOColors.xaml、Styles.xaml、CMOStyles.xaml是否存在XAML语法问题,比如未闭合的标签、无效的绑定表达式、重复的资源键等。Windows平台对部分语法错误容错性较高,Android平台则会直接跳过加载存在错误的字典。
  • Android打包机制限制:.NET MAUI Android打包过程中,若资源字典文件过大或包含复杂自定义控件样式,可能出现加载异常。可尝试将多个资源字典临时合并为一个,或拆分出更小的字典逐一排查,定位具体是哪个文件导致加载失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:44:55