【问题标题】:Issue using JsonConvert.SerializeObject with Unity IL2CPP scripting backend使用带有 Unity IL2CPP 脚本后端的 JsonConvert.SerializeObject 的问题
【发布时间】:2018-10-23 12:33:49
【问题描述】:
在使用 Unity IL2CPP 脚本后端时,我在使用 JsonConver.SerializeObject 函数序列化字符串时遇到问题。我的理解是,由于 JsonConvert 使用反射 IL2CPP 不能使用此功能,因为它是预编译的。我也在使用使用 Newtonsoft.dll 的 Holotoolkit,所以我不相信使用 JSON .NET for Unity 包是可行的,因为它会与 Newtonsoft.dll 冲突
有人遇到这个问题或对如何解决有任何建议吗?
【问题讨论】:
标签:
json
unity3d
dll
hololens
hololens-emulator
【解决方案1】:
我通过删除 Holotoolkit 目录结构中的 Newtonsoft.dll 以及引用 Newtonsoft.dll 的 GLTFSerialization.dll 来实现这一点。然后,由于我正在为 Hololens 编码,因此我能够注释掉所有引用 GLTFSerialization.dll 的代码。然后我从 Unity 资产商店安装了 JSON for .NET Unity 资产,一切都好起来了。
我相信所有引用 GLTFSerialization.dll 的代码都仅用于混合现实设备开发,因此如果您正在为 MR 开发此解决方案,则此解决方案可能无法正常工作,您可能需要考虑使用外部别名方法。