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

Release构建报错:无法加载Xamarin.AndroidX.AppCompat程序集

解决Release构建时XAGJS7028:找不到Xamarin.AndroidX.AppCompat程序集的问题

错误详情:

级别代码描述项目文件行号抑制状态
错误XAGJS7028System.IO.FileNotFoundException: 无法加载程序集 'Xamarin.AndroidX.AppCompat, Version=1.0.0.0, Culture=neutral, PublicKeyToken='。它可能不存在于Mono for Android配置文件中?
文件名: 'Xamarin.AndroidX.AppCompat.dll'
堆栈跟踪:
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs:line 245
at Mono.Cecil.MetadataResolver.Resolve(TypeReference type) in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/cecil/Mono.Cecil/MetadataResolver.cs:line 111
at Mono.Cecil.TypeReference.Resolve() in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/cecil/Mono.Cecil/TypeReference.cs:line 278
at Java.Interop.Tools.Cecil.TypeDefinitionCache.Resolve(TypeReference typeReference) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/TypeDefinitionCache.cs:line 20
at Java.Interop.Tools.Cecil.TypeDefinitionRocks.d__5.MoveNext() in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/TypeDefinitionRocks.cs:line 40
at Java.Interop.Tools.Cecil.TypeDefinitionRocks.IsSubclassOf(TypeDefinition type, String typeName, IMetadataResolver resolver) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/TypeDefinitionRocks.cs:line 94
at Java.Interop.Tools.JavaCallableWrappers.JavaTypeScanner.AddJavaTypes(List1 javaTypes, TypeDefinition type) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaTypeScanner.cs:line 58
at Java.Interop.Tools.JavaCallableWrappers.JavaTypeScanner.GetJavaTypes(IEnumerable
1 assemblies, IAssemblyResolver resolver) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaTypeScanner.cs:line 48
at Xamarin.Android.Tasks.GenerateJavaStubs.Run(DirectoryAssemblyResolver res)
at Xamarin.Android.Tasks.GenerateJavaStubs.RunTask()
at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 17
ReviewRev.DroidC:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.68\tools\Xamarin.Android.Common.targets1476

该问题仅在Release构建时触发,Debug构建可正常运行。


解决方案:

  • 检查并更新AndroidX AppCompat NuGet包
    确认项目已安装Xamarin.AndroidX.AppCompat包,且版本与其他AndroidX包兼容。右键项目→管理NuGet程序包,找到该包:

    • 若未安装则直接安装;
    • 若已安装,检查版本是否过时,更新至稳定版,同时确保依赖的其他AndroidX包版本匹配,避免版本冲突。
  • 调整Release模式的链接器设置
    Release模式下链接器可能误删必要程序集:

    1. 右键项目→属性→Android选项;
    2. 在“链接器”区域,将链接行为改为Sdk程序集仅(优先推荐)或不链接(测试用);
    3. 若需要精细控制,可添加链接器描述文件,明确保留Xamarin.AndroidX.AppCompat相关类型。
  • 清理并重建项目

    1. 点击菜单→生成→清理解决方案;
    2. 手动删除项目根目录下的bin和obj文件夹;
    3. 重新切换到Release模式,执行构建操作。
  • 检查项目文件的程序集引用
    手动编辑项目的.csproj文件,确认Xamarin.AndroidX.AppCompat的引用没有被条件限制为仅Debug模式。确保类似以下的引用没有带Condition=" '$(Configuration)' == 'Debug' ":

    <PackageReference Include="Xamarin.AndroidX.AppCompat" Version="1.6.1.1" />
    
  • 更新Android SDK及构建工具
    打开Android SDK管理器,确保:

    • Android 33对应的SDK平台已安装;
    • AndroidX相关的构建工具、支持库均为最新版本;
    • 项目的目标框架版本与SDK版本匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:44:54