Проблема:
System.Version не десериализуется правильно. Я пробовал две разные библиотеки .NET. Ниже приведены фрагменты кода для каждого из них:
Фрагмент кода 1 с использованием библиотеки ServiceStack .NET:
Код: Выделить всё
var version = new Version(1, 2, 3, 0);
string reportJSON = JsonSerializer.SerializeToString(version);
//{"Major":1,"Minor":2,"Build":3,"Revision":0,"MajorRevision":0,"MinorRevision":0}
Version report2 = JsonSerializer.DeserializeFromString(reportJSON);
string reportJSON2 = JsonSerializer.SerializeToString(report2);
//{"Major":0,"Minor":0,"Build":-1,"Revision":-1,"MajorRevision":-1,"MinorRevision":-1}
Код: Выделить всё
var version = new Version(1, 2, 3, 0);
string reportJSON = JsonConvert.SerializeObject(version);
//{"Major":1,"Minor":2,"Build":3,"Revision":0,"MajorRevision":0,"MinorRevision":0}
Version report2 = JsonConvert.DeserializeObject(reportJSON);
string reportJSON2 = JsonConvert.SerializeObject(report2);
//{"Major":0,"Minor":0,"Build":-1,"Revision":-1,"MajorRevision":-1,"MinorRevision":-1}
Подробнее здесь: https://stackoverflow.com/questions/131 ... -correctly