Как устранить ошибку Android «Newtonsoft.Json.JsonSerializationException, которая не может найти конструктор для использования для типов»?

Я работаю в приложении с Unity3D.

Я использую мои собственные DLL утилиты с некоторыми классами.

Я работаю уже несколько месяцев и сделал много сборок / сборок без проблем.

На прошлой неделе в DLL добавили новый класс, он хорошо работал на моем ПК, но когда я собрал проект и использовал его на своем устройстве Android, он перестал работать. Программа Android Monitor показывает мне эту ошибку:

"Newtonsoft.Json.JsonSerializationException не удалось найти конструктор для использования для типов"

Типы, для которых Newtonsoft могут найти конструкторы, - это новые классы, которые я недавно добавил.

Важно : все остальные классы десериализованы без ошибок.

Единственное другое мнение, что у нового класса есть пространство имен и тип . Переменные, методы и конструкторы все те же.

Также важно, что проект отлично работает на ПК, проблема возникает только в Android.

Я знаю, что могу сделать несколько пользовательских десериализаторов или добавить теги и т. Д. В мой класс. Но дело в том, что только этот класс вызывает проблему, и нет причин менять систему десериализации JSon.

Спасибо.

Всего 1 ответ


  1. Вы можете иметь пустой конструктор в классе, чтобы десериализовать его.

  2. Вы можете попробовать поместить это в свой класс:

    [Runtime.Preserve (AllMembers = true)]


Есть идеи?

10000