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

添加Xamarin.AndroidX.Work.Runtime后.NET MAUI项目编译错误的特定修复方案是什么?

.NET MAUI添加Xamarin.AndroidX.Work.Runtime后编译冲突解决

添加Xamarin.AndroidX.Work.Runtime NuGet包启用Android WorkManager功能后,项目立即无法编译,输出窗口抛出类型重复定义错误:

Caused by: com.android.tools.r8.utils.b: Type androidx.collection.ArraySetKt is defined multiple times:
C:\Users\spesc.nuget\packages\xamarin.androidx.collection.jvm\1.4.5.2\buildTransitive\net8.0-android34.0....

jar\androidx.collection.collection-jvm.jar:androidx/collection/ArraySetKt.class, C:\Users\spesc.nuget

packages\xamarin.androidx.collection.ktx\1.2.0.9\buildTransitive\net6.0-android31.0....\jar\androidx.collection.collection-ktx.jar:androidx/collection/ArraySetKt.class

该问题可在全新.NET MAUI模板项目中复现,且尝试修复时会触发其他Android类型冲突错误。

解决方法

  • 统一依赖版本:在项目的.csproj文件中显式指定冲突依赖的相同兼容版本,强制NuGet使用一致的包。示例:
    <ItemGroup>
      <PackageReference Include="Xamarin.AndroidX.Collection.Jvm" Version="1.4.5.2" />
      <PackageReference Include="Xamarin.AndroidX.Collection.Ktx" Version="1.4.5.2" />
    </ItemGroup>
    
  • 清理并还原NuGet缓存:打开终端执行以下命令,清除本地NuGet缓存后重新还原依赖:
    dotnet nuget locals all --clear
    dotnet restore
    
  • 排除重复资产(备选):若上述方法无效,可通过ExcludeAssets属性排除冲突的间接依赖,但需注意可能影响其他功能:
    <PackageReference Include="Xamarin.AndroidX.Collection.Ktx" Version="1.4.5.2">
      <ExcludeAssets>all</ExcludeAssets>
    </PackageReference>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:12:09