I have heard that XML Serialisation “serialises an object and uses the names of the members, as determined at runtime, as the XML element names.” Is this a problem?
If all participants in the serialisation (producers and consumers of the serialised objects) are obfuscated, then you don’t need to do anything special. Objects serialised in this manner will be serialised with the obfuscated names and the deserialiser will be expecting those same names. It is only when one of the participants expects the original names that you will have problems. In this case, you will need to exclude the type and its members from renaming. Also, you will need to use incremental obfuscation on such types if you need them to be compatible across releases. This will ensure that an object serialised with version 1.2 of your application will be able to be deserialised by version 1.3, etc. Last, you should not use Enhanced Overload Induction on serialised objects.