steve16351 правильно, что именно модификатор internal
в get
вызывает это - код библиотеки не предвидит этот сценарий (что довольно редко, чтобы быть справедливым).
Не в этом случае , но иногда трюк с XmlSerializer
состоит в том, чтобы развернуть все исключения, т.е.
catch (Exception ex)
{
while (ex != null)
{
Console.WriteLine(ex.Message);
ex = ex.InnerException;
}
}
Однако в этом случае все, что он говорит, это:
There was an error reflecting type 'Config'.
Object reference not set to an instance of an object.
Однако иногда этот подход дает более полезный объем информации о проблеме.
Но: удаление исправлений internal
- это.Если вы на самом деле действительно не хотите, чтобы это свойство становилось доступным, то создайте две модели - одну для ваших доменных объектов для регулярного использования, а другую для типов сериализации просто дляиспользовать с сериализатором.Затем отобразите карту между ними рядом с вашим кодом сериализации.Этот подход является «единым магазином» для исправления всех нюансов сериализаторов, поскольку вы можете использовать все, что нравится сериализатору, без ущерба для ваших «настоящих» типов.
Также: вы можете удалить [Serializable]
- XmlSerializer
это не волнует.