Complex Types Serialized to the Wrong Namespace by WCF

Have you recently tried to migrate an existing ASMX Web service to Windows Communication Foundation, and discovered that the complex types you've so lovingly hand-crafted for the XmlSerializer don't work the way you expect? Are you having to resort to MessageContracts to obtain the serilization behavior your desire?

I recently wrote a lengthy post over on my blog that outlines a namespace problem when WCF serializes complex types that live in a different XML namespace than the Web service itself and a work-around provided by Dino Chiesa.