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

.NET MAUI集成Firebase时因androidx.collection.ArraySetKt重复定义编译失败

解决.NET MAUI安装Xamarin.Firebase.Auth后androidx.collection.ArraySetKt重复定义问题

从错误日志可见,尽管你手动指定了AndroidX.Collection包的1.4.2版本,但编译时仍在引用旧版本的Xamarin.AndroidX.Collection.Jvm(1.4.0.5)和Xamarin.AndroidX.Collection.Ktx(1.2.0.9),这是Firebase.Auth的传递依赖与手动引用包的版本冲突导致的。以下是具体解决步骤:

步骤1:清理NuGet缓存

旧版本包的缓存会干扰依赖解析,先执行清理命令:

dotnet nuget locals all --clear

步骤2:调整项目依赖配置

修改.csproj中Android目标框架的依赖项,排除Firebase.Auth传递的冲突包,只保留统一版本的AndroidX.Collection:

<ItemGroup Condition="'$(TargetFramework)' == 'net8.0-android'">
  <PackageReference Include="Xamarin.Firebase.Auth" Version="122.3.1.3">
    <ExcludePackageReferences>
      <ExcludePackageReference Include="Xamarin.AndroidX.Collection.Jvm" />
      <ExcludePackageReference Include="Xamarin.AndroidX.Collection.Ktx" />
    </ExcludePackageReferences>
  </PackageReference>
  <PackageReference Include="Xamarin.AndroidX.Collection" Version="1.4.2" />
</ItemGroup>

说明:新版本的Xamarin.AndroidX.Collection已整合Jvm和Ktx的功能,无需单独引用后两者。

步骤3:统一所有AndroidX包版本

打开NuGet包管理器,筛选项目中所有Xamarin.AndroidX.*包,确保它们的版本完全一致(建议使用与.NET 8兼容的最新稳定版),避免版本不一致引发的依赖冲突。

步骤4:清理并重新生成项目

  • 右键项目选择清理
  • 删除项目根目录下的bin和obj文件夹
  • 重新生成解决方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:24:56