¿Por qué Json.NET DeserializeObject cambia la zona horaria a la hora local?

Estoy usando json.net para deserializar unDateTimeOffset, pero es ignorar la zona horaria especificada y convertir la fecha y hora en el desplazamiento local. Por ejemplo, dado

var content = @"{""startDateTime"":""2012-07-19T14:30:00+09:30""}";

Cuando se deserializa utilizando:

var jsonSerializerSettings = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateParseHandling = DateParseHandling.DateTimeOffset, DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind };
var obj = JsonConvert.DeserializeObject(content, jsonSerializerSettings);

El objeto contendrá una propiedad que contiene unaDateTimeOffset pero el valor será2012-07-19T15:30:00+10:30 es decir, convertido a la zona horaria local en lugar de preservar la zona horaria original.

¿Hay una manera de obtener el valor para ser analizado como se espera para que el resultadoDateTimeOffset ¿La propiedad coincidirá con el valor suministrado?

Respuestas a la pregunta(6)

Su respuesta a la pregunta