XAMARIN-Mono.Android-预验证类中的类引用已解析为意外的实现

时间:2018-08-22 07:14:19

标签: c# xamarin dll ilrepack

我已经使用ILRepack将一堆DLL合并为最终的Merged.dll。

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

一些合并的DLL使用Mono.Android.dll功能,我不想将其合并,因为我认为这是错误的,而且输出程序集的大小约为30MB。

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

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

  

Java.Lang.IllegalAccessError:预验证类中的类ref已解决意外实现

有什么办法解决这个问题?

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

编辑:

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation getting while running test project?

我确实阅读了这篇文章以及类似的文章,但是它们与Android解决方案有关,与Xamarin解决方案无关。到目前为止,我无法翻译提供给我的案例的解决方案。因此,请不要关闭此问题,因为它仍然很重要。

0 个答案:

没有答案