c# - 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。
这就是为什么我没有合并它,而是使用/lib
ILRepack 的特性来指定引用。
/lib:C:\.MonoAndroidPath.\v8.1
是 xamarin 解决方案也使用的 Mono.Android.dll 的路径。
当我Merged.dll
在应用程序中使用时,它会编译但是当应用程序即将启动时我得到
Java.Lang.IllegalAccessError:预验证类中的类引用解析为意外实现
有没有办法解决这个问题?
如果单独添加所有 DLL,则该解决方案确实有效。
编辑:
java.lang.IllegalAccessError:预验证类中的类引用解析为在运行测试项目时意外实现?
我确实通读了这篇文章和类似的文章,但它们与 Android 解决方案有关,而不是与 Xamarin 解决方案有关。到目前为止,我无法将那里提供的解决方案翻译成我的案例。所以请不要关闭这个问题,因为它仍然相关。
解决方案
推荐阅读
- docker - 无法访问 Docker 中的 Spark 节点
- javascript - 如何将这个带有回调的链式 Promise 代码转换为 async/await
- python - 异常序列化消息
- java - BufferedReader 的 read() 太慢,readLine() 没有返回 NL 或 CR
- wikipedia - 如何下载和使用维基百科数据转储?
- flutter - 如何在使用 Providers 设置页面状态后重建页面?
- python - Python 3 - 用换行符分隔整数列表
- javascript - 从动态字符串中提取数字
- python - AttributeError:“DirectoryIterator”对象没有属性“形状”Tensorflow CNN
- javascript - TypeError:升级到节点 10 后无法读取 Firebase 函数中未定义的属性“名称”