Hololens与IL2CPP后端的DLL冲突

时间:2019-02-19 04:05:35

标签: c# unity3d hololens il2cpp

我一直在研究Hololens。该项目在具有IL2CPP和API兼容性4.x的.NET 4.x上。我正在使用Unity 2018.3.6f。

我需要添加外部DLL(IdentityClient.dll)

参考:IdentityModel NuGet Package

此dll同时依赖于Newtonsoft.Json和System.Text.Encodings.Web。

经过大量工作,我现在可以使用dll部署我的应用程序,但是当我使用它们时,它会使我的应用程序崩溃。问题出在Newtonsoft.Json。

由于IL2CPP使用AOT编译,而newtonsoft使用反射,因此崩溃。我已经用这个替换了Newtonsoft.Json.dll https://assetstore.unity.com/packages/tools/input-management/json-net-for-unity-11347

我已经可以在代码中使用Newtonsoft,但是IdentityModel.dll仍然引用了旧的实现,即使我删除了它。因此它再次崩溃。我现在有点卡住,我想知道你们中的任何一个是否有解决方案!

我也在考虑是否也无法修复它:

  1. 分叉IdentityModel的github项目并对其进行调整
  2. 只需手动完成所有操作,而不是在IdentityModel上进行中继,但这可能会花费一些时间。

此外,在Unity Editor中一切正常,但是在部署时崩溃。

1 个答案:

答案 0 :(得分:0)

最后,我决定自己实施de dll。大多数从事Hololens工作的人似乎都有类似的问题