XmlSerializer: cómo deserializar un valor de enumeración que ya no existe

Estoy utilizando el XMLSerializer para guardar esta clase en un archivo. La clase tiene una cadena y una enumeración como se muestra a continuación:

public class IOPoint
{
     string Name {get; set;}
     TypeEnum {get; set;}
}


public enum TypeEnum
{
    Temperature,
    Pressure,
    Humidity,
}

Cuando serializado se ve así.

<IOPoint>
  <Name>Relative Humidity</Name>
  <TypeEnum>Humidity</TypeEnum>
</IOPoint>

He estado serializando y deserializando este objeto sin problemas para varias versiones. Ya no quiero soportar Humedad, así que la eliminé de la enumeración. Sin embargo, esto provoca una excepción al deserializar de XML porque el valor en el campo TypeEnum, Humedad, no es un valor válido para TypeEnum. Esto tiene sentido, pero ¿cómo manejar esto?

Lo que me gustaría hacer es ignorar este error. Y dejar el valor como nulo. He intentado implementar la clase OnUnknownElement XmlDeserilizationEvent. Desafortunadamente, esto no atrapa este error.

Cualquier idea sobre cómo detectar e ignorar este error (puedo limpiar después de que se complete la deserialización).

Mitch

Respuestas a la pregunta(4)

Su respuesta a la pregunta