Ошибка компиляции JIT с protobuf-сетью на устройстве MonoTouch / iOS (iPhone / iPad) - PullRequest
3 голосов
/ 29 октября 2011

Я использую protobuf-net v2 beta r450 (бинарный дистрибутив) и собираю сборку сериализации заранее, используя методику, описанную здесь:

http://www.frictionpointstudios.com/blog/2011/3/31/using-protobuf-net-serialization-in-unity-iphone.html

Я создаю сборку сериализации в Windows и использую ее в своем проекте MonoTouch. Работает под симулятором. Но при запуске на устройстве, где принудительно выполняется только компиляция AOT, я получаю эту ошибку:

attempting to JIT compile method 'ProtoBuf.BufferPool.GetBuffer()' 
while running with --aot-only 

Исключение возникает при вызове Serialize ():

using (var stream = File.Create(out_file))
{
    serializer.Serialize(stream, settings);
}

Спасибо за любую помощь.

Ответы [ 2 ]

2 голосов
/ 08 ноября 2011

Я взял протобуф-сетевые источники (v2 r470).Использование [ImmutableObject] действительно было одной из проблем.Я отправил несколько небольших исправлений в @MarcGravell через список проблем protobuf-net.Я обновил свой пример на http://github.com/t9mike/ProtoBuf1 с этой новой сборкой.Спасибо всем за ответы.

0 голосов
/ 28 марта 2015

У меня была почти аналогичная проблема при работе с Unity (с protobuf-net и iOS), это помогло мне:

Environment.SetEnvironmentVariable("MONO_REFLECTION_SERIALIZER", "yes");

Кредит: https://github.com/antonholmquist/easy-serializer-unity

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...