Abbiamo riscontrato un problema in cui uno sviluppatore crea il codice seguente e funziona nel proprio ambiente DEV. Ma quando è controllato in QA, il codice rompe con il seguente messaggio di errore:TimeZoneInfo.ConvertTimeToUtc issue
myRecord.UTCStartTime = TimeZoneInfo.ConvertTimeToUtc(myRecord.StartTime, myTimeZone);
La conversione non è stato possibile completare in quanto la dotazione DateTime non ha avuto la proprietà Kind impostato correttamente. Ad esempio, quando la proprietà Tipo è DateTimeKind.Local, il fuso orario dell'origine deve essere TimeZoneInfo.Local.
Nell'ambiente DEV, il codice sopra riportato genera lo stesso errore del server QA. Ho applicato il cambio di seguito per risolvere il problema:
DateTime utcStart = DateTime.SpecifyKind(myRecord.StartTime, DateTimeKind.Unspecified);
myRecord.UTCStartTime = TimeZoneInfo.ConvertTimeToUtc(utcStart, myTimeZone);
Perché il primo codice di esempio il lavoro sull'ambiente DEV1 ma rompere il mio ambiente dev e sul nostro server di QA?
Non hai risposto alla domanda - "Perché il primo codice di esempio il lavoro sull'ambiente DEV1 ma rompere il mio ambiente dev e sul nostro server QA?" – Enigmativity
Questo codice è la stessa soluzione menzionata nella domanda stessa. – BACON