We’ve been trying to get a Windows IL2CPP going, but getting AOT errors such as:
1
2
3
ExecutionEngineException:Attempting to call method'NodeCanvas.Framework.Internal.ReflectedFunction'4[[System.Collections.IEnumerator,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Boolean,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[WorldController+WorldTypes,Assembly-CSharp,Version=0.0.0.0,Culture=neutral,PublicKeyToken=null]]::.ctor'forwhich no ahead of time(AOT)code was generated.
at System.Reflection.MonoCMethod.InternalInvoke(System.Objectobj,System.Object[]parameters)[0x00000]in<00000000000000000000000000000000>:0
at System.RuntimeType.CreateInstanceMono(System.Boolean nonPublic)[0x00000]in<00000000000000000000000000000000>:0
`
I understand from some research that using CheckFunction will cause this issues, so we need to use CheckFunction_Multiplatform, however we have hundreds of cases of the use of it and they have a different JSON format so it’s not easy to “swap” them out, is there any suggested way to do so?
Also wondering if ExecuteFunction will need to be converted to ExecuteFunction_Multiplatform?
Indeed, there is a difference in the multiplatform versions and the other ones, with only the multiplaform being supported in AOT platforms. Unfortunately there is no automatic conversion, but I will try to come up with something hacky to help you somehow convert the tasks to the multiplatform ones. Since this is going to be some work, please let me know what reflection tasks you are using. Are you only using CheckFunction and ExecuteFunction, or others as well?
Let me know.
Join us on Discord: https://discord.gg/97q2Rjh
Author
Posts
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic.
Login
Register
By registering on this website you agree to our Privacy Policy.