首页 > 解决方案 > XAMARIN - Mono.Android - 预验证类中的类引用解析为意外实现

问题描述

我使用 ILRepack 将一堆 DLL 合并到最终的 Merged.dll 中

ILRepack.exe /verbose /out:C:\..\.Merged.dll /wildcards *.dll /lib:C:\.MonoAndroidPath.\v8.1

一些合并的 DLL 使用 Mono.Android.dll 功能,我不想将其合并,因为我认为它是错误的,并且输出程序集将达到 ~30MB。

这就是为什么我没有合并它,而是使用/libILRepack 的特性来指定引用。 /lib:C:\.MonoAndroidPath.\v8.1是 xamarin 解决方案也使用的 Mono.Android.dll 的路径。

当我Merged.dll在应用程序中使用时,它会编译但是当应用程序即将启动时我得到

Java.Lang.IllegalAccessError:预验证类中的类引用解析为意外实现

有没有办法解决这个问题?

如果单独添加所有 DLL,则该解决方案确实有效。

编辑:

java.lang.IllegalAccessError:预验证类中的类引用解析为在运行测试项目时意外实现?

我确实通读了这篇文章和类似的文章,但它们与 Android 解决方案有关,而不是与 Xamarin 解决方案有关。到目前为止,我无法将那里提供的解决方案翻译成我的案例。所以请不要关闭这个问题,因为它仍然相关。

标签: c#xamarindllilrepack

解决方案


推荐阅读