We have many objects distributed in host code base and in code base of add-ins. Our host provide settings storage which can store custom objects. It leads very long time compiling serializers during start up of application when many settings are read. We implemented small library which uses Serializable, XmlIgnore, XmlAttribute and XmlElement attributes which serializes some kind of objects (no inheritance, no arrays – only lists). It creates serializers during start. Custom serializers parse XML 4 times slower then BCL, but created 50 times faster (i.e. csc.exe degrades start up performance of BCL serializers). Which is OK for us. But we need our library to be fully compatible in possibilities and exceptions with BCL provided XML serialization without custom stuff(e.g. custom attributes).
Does anybody knows such library?
I know everything about sgen.exe and it is considered, but have some negative consequences.
System.Xml of Mono and .NET 4.5 do it.