Closed AlanLiu90 closed 1 year ago
使用SuperSet模式加载未裁剪的Newtonsoft.Json.dll,后续执行到相关代码时,会有下面的报错:
MissingMethodException: MethodNotFound System.Reflection.Missing::GetTypeFromHandle
当这个dll是拷贝自PackageCache/com.unity.nuget.newtonsoft-json@3.0.2时,无论是来自Runtime内,还是来自Runtime/AOT内,都会导致同样的错误。
PackageCache/com.unity.nuget.newtonsoft-json@3.0.2
Runtime
Runtime/AOT
当这个dll是拷贝自AssembliesPostIl2CppStrip时,就没问题。
AssembliesPostIl2CppStrip
一运行,就会有报错: hybridclr_trial.zip
感谢。我们马上进行核实和修复。
原因已经确定,不是bug,而是因为 原始dll引用了netstandard,导致System.Type类型找不到,而裁剪后的aot dll神奇地变成了.net 4。
关于netstandard不兼容的问题,我们刚刚提交了一个版本解决了此问题。你可以从main分支更到最新试一下。
谢谢,合并这个改动后,正常了。
测试环境:
问题
使用SuperSet模式加载未裁剪的Newtonsoft.Json.dll,后续执行到相关代码时,会有下面的报错:
当这个dll是拷贝自
PackageCache/com.unity.nuget.newtonsoft-json@3.0.2
时,无论是来自Runtime
内,还是来自Runtime/AOT
内,都会导致同样的错误。当这个dll是拷贝自
AssembliesPostIl2CppStrip
时,就没问题。复现工程
一运行,就会有报错: hybridclr_trial.zip