除了此方法之外,是否有任何替代方法可以使用 protobuf-net 在 Xamarin.iOS(Monotouch)中实现对象的序列化和反序列化:
阅读周围的一些人声称他们已经做到了(没有提供证据),但我的理解是 [iOS JIT==NO] 所以不太有意义。
如果唯一可能的解决方案是完全 AOT 所有相关类,那么合适的构建前/构建后事件命令行可能会自动为任何相关程序集执行此 AOT?
除了此方法之外,是否有任何替代方法可以使用 protobuf-net 在 Xamarin.iOS(Monotouch)中实现对象的序列化和反序列化:
阅读周围的一些人声称他们已经做到了(没有提供证据),但我的理解是 [iOS JIT==NO] 所以不太有意义。
如果唯一可能的解决方案是完全 AOT 所有相关类,那么合适的构建前/构建后事件命令行可能会自动为任何相关程序集执行此 AOT?
我听说很多人通过这条路线取得了成功,但我也无法提供书面证据。
这种方法有点过时了——我已经简化了几个步骤;有一个独立的预编译工具应该可以工作:
跑
precompile "SomePath/YourDto.dll" -t:MySerializer -o:MySerializer.dll
(也许在此mono
之前有一个单声道来托管 exe)
这应该解决框架并编译一个MySerializer.dll
您可以引用的,这涉及零 JIT(MySerializer.dll
将引用您的 dto dll 和您的 dto dll 引用的 protobuf-net 的版本)
new MySerializer().Serialize(...)
我很乐意提供指导,但目前我没有 mac,所以我现在无法检查。如果您遇到任何问题,请告诉我。如果它不能解析框架,你可以添加-f:{path to the framework assemblies}
给它一个线索。