Is there any way to serialize a property with an internal setter in C#?
I understand that this might be problematic - but if there is a way - I would like to know.
You can implement IXmlSerializable, unfortunately this negates the most important benefit of XmlSerializer (the ability to declaratively control serialization). DataContractSerializer (xml based) and BinaryFormatter (binary based) could be used as alternatives to XmlSerializer each having its pros and cons.