¿Por qué necesito un constructor sin parámetros? [duplicar]

Posible duplicado:
Por qué la clase XML-Serializable necesita un constructor sin parámetros

Estoy recibiendo el error de tiempo de ejecución como se indica a continuación.

Mensaje = OutlookAddIn1.DeviceRegistrationRequest no puede ser serializado porque no tiene un constructor sin parámetros.

Estoy perfectamente claro por qué (se dice en el mensaje de error) y cómo resolverlo (adición trivial del constructor vacío). Lo que no tengo claro espor qué es necesario. He encontradoesta discusión pero se trata principalmente de MVC, que no tiene nada que ver con mi programa (que es un cliente de consola para CRM Dynamics).