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

.NET 8 MAUI集成Firebase推送通知遇重复类编译错误求助

解决.NET 8 MAUI集成FCM时androidx.collection.ArraySetKt重复定义编译错误
  • 强制统一androidx.collection依赖版本
    在项目的Platforms/Android/Android.csproj或根目录的Directory.Build.props中添加以下配置,通过强制指定相同版本的androidx.collection相关包,消除版本冲突:

    <ItemGroup>
      <PackageReference Include="Xamarin.AndroidX.Collection" Version="1.3.0.3" />
      <PackageReference Include="Xamarin.AndroidX.Collection.Ktx" Version="1.3.0.3" />
    </ItemGroup>
    

    版本号可选用NuGet上兼容.NET 8的最新稳定版,确保两个包版本完全一致。

  • 排查并排除冲突依赖
    在项目根目录执行命令,查看所有直接和间接依赖的包:

    dotnet list package --include-transitive
    

    找到引入不同版本androidx.collection的依赖包,通过ExcludeAssets或强制覆盖版本解决冲突。例如,若某第三方包引入了旧版本,可在其PackageReference中添加配置:

    <PackageReference Include="冲突包名称" Version="对应版本">
      <ExcludeAssets>all</ExcludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    
  • 彻底清理项目缓存
    除常规清理外,执行以下步骤彻底清除缓存:

    • 删除项目根目录下的bin、obj文件夹
    • 运行命令:dotnet nuget locals all --clear
    • 重启开发工具后重新生成项目
  • 检查FCM配置适配性
    确保FCM配置完全适配.NET 8:

    • 使用兼容.NET 8的Xamarin.Firebase.Messaging最新版本
    • 检查AndroidManifest.xml中的服务配置,移除.NET 6时代的旧代码,确保服务类继承符合MAUI的生命周期要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:24:53