我正在改装使用Unity3D制作的Android游戏。该源不可用,因此经过了反向工程(获得许可)。我正在尝试使用IronPython向其中添加Python脚本,但是在运行Python.CreateEngine()
时出现以下错误。
12-16 17:32:01.514 16886 16903 W mono : The class System.CodeDom.CodeObject could not be loaded, used in System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
12-16 17:32:01.593 16886 16903 W mono : The class IronPython.Runtime.PythonContext could not be loaded, used in IronPython, Version=2.6.10920.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
12-16 17:32:01.621 16886 16903 E Unity : TypeLoadException: Could not load type 'IronPython.Runtime.PythonContext' from assembly 'IronPython, Version=2.6.10920.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
12-16 17:32:01.621 16886 16903 E Unity : at IronPython.Hosting.Python.CreateEngine () [0x00000] in <filename unknown>:0
12-16 17:32:01.621 16886 16903 E Unity : at Net.Asdew.SFSPy.SFSPyScript..ctor (System.String file) [0x00000] in <filename unknown>:0
12-16 17:32:01.621 16886 16903 E Unity : at Net.Asdew.SFSPy.SFSPy.CreateScript (System.String path) [0x00000] in <filename unknown>:0
12-16 17:32:01.621 16886 16903 E Unity : at Net.Asdew.SFSPy.SFSPy.LoadScript () [0x00000] in <filename unknown>:0
12-16 17:32:01.621 16886 16903 E Unity : at Ref.Awake () [0x00000] in <filename unknown>:0
我尝试了IronPython的多个版本,范围从2.6.1到2.7.7。它们都不起作用,总是以上述错误结尾。我还尝试过从NuGet软件包下载System.CodeDom.dll文件,但没有一个可以修复错误。
这是可能的,因为大约半年前,我对游戏的较旧版本进行了此操作。在使用旧版本时,我也遇到了同样的问题。我不知道该如何解决这个问题。