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

.NET 8 MAUI项目编译报错:‘类型被多次定义’求助

解决“androidx.activity.ActivityViewModelLazyKt$viewModels$2 类重复定义”编译错误

以下是针对这个编译错误的实用解决步骤:

  • 排查依赖版本冲突
    这个错误核心是项目重复引入了不同版本的androidx.activity相关依赖。打开NuGet包管理器,查看已安装的包,重点检查Xamarin.AndroidX.Activity(或.NET MAUI对应的activity包)的版本,确保所有直接/间接依赖的该包版本完全一致。

  • 强制统一依赖版本
    如果发现间接依赖导致版本不一致,直接在项目的.csproj文件中添加强制版本配置,锁定androidx.activity的版本:

    <PropertyGroup>
      <!-- 替换为你项目适配的稳定版本号 -->
      <PackageVersion Include="Xamarin.AndroidX.Activity" Version="1.8.2" />
    </PropertyGroup>
    
  • 深度清理并重新还原依赖
    除了手动删除bin/obj文件夹,执行以下命令彻底清理缓存并重新还原依赖:

    dotnet clean
    dotnet restore
    
  • 排查新增页面的引入依赖
    由于错误是新增页面后出现的,逐一移除新增页面中引入的第三方NuGet包,每次移除后尝试编译,定位到引发冲突的包,再查看该包的依赖树,调整其版本或替换为无冲突的替代包。

  • 调整Android打包压缩配置
    若项目启用了ProGuard或R8代码压缩,可尝试暂时关闭这些功能,看是否解决冲突;如果必须启用,在ProGuard配置文件中添加规则排除重复类:

    -dontwarn androidx.activity.ActivityViewModelLazyKt
    -keep class androidx.activity.ActivityViewModelLazyKt { *; }
    

内容的提问来源于stack exchange,提问作者still-got-the-t-shirt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 10:04:57