.NET 9 MAUI集成Firebase Crashlytics时遭遇重复类编译错误
.NET 9 MAUI集成Firebase Crashlytics时遭遇重复类编译错误
我之前也踩过这个重复类冲突的坑,给你几个实用的解决方向:
1. 排查并清理重复依赖
这个错误的核心是androidx.tracing.TraceKt$traceAsync$1类被多个NuGet包重复引入了。你可以:
- 打开项目的Dependencies -> NuGet,逐一检查已安装的包,看看有没有同时包含
androidx.tracing的不同版本或重复引用; - 尝试卸载可能引发冲突的冗余依赖,然后重新安装版本一致的
Xamarin.Firebase.Crashlytics和Xamarin.Firebase.Analytics,版本不匹配是这类冲突的常见诱因。
2. 编辑项目文件强制排除重复引用
直接修改你的MAUI项目文件(.csproj),添加配置来处理重复类问题:
<ItemGroup> <!-- 确保Firebase包版本统一 --> <PackageReference Include="Xamarin.Firebase.Crashlytics" Version="118.3.1" /> <PackageReference Include="Xamarin.Firebase.Analytics" Version="118.3.1" /> <!-- 排除重复的tracing依赖 --> <PackageReference Include="Xamarin.AndroidX.Tracing" Version="1.2.0.1" ExcludeAssets="all" /> </ItemGroup>
注意:版本号要选和Firebase包兼容的,你可以查看NuGet上的包依赖信息来匹配对应版本。
3. 彻底清理构建缓存
缓存里的旧文件经常会导致这类奇怪的编译冲突,试试这些操作:
- 删除项目目录下的
obj和bin文件夹; - 在Visual Studio中依次执行Build -> Clean Solution,再Rebuild Solution;
- 清理NuGet缓存:通过
Tools -> NuGet Package Manager -> Package Manager Settings -> Clear All NuGet Cache(s)。
4. 绕开路径问题重新使用Plugin.Firebase
你之前因为路径过长装不了Plugin.Firebase,其实可以把整个项目移动到路径更短的文件夹下(比如从C:\Users\你的用户名\Documents\超级长的项目路径移到C:\Projects\MyMAUIApp),这样就能避开路径限制,然后重新安装这个专为MAUI优化的Firebase插件,它能减少手动配置带来的冲突问题。
内容来源于stack exchange
相关产品推荐
相关产品推荐

