Este equipo de trabajo ha estado mucho tiempo buscando soluciones a tu pregunta, te dejamos la solución de modo que deseamos servirte de gran ayuda.
Solución:
Actualmente, no hay forma de ignorar los errores a nivel de campo/propiedad. Sus opciones actuales son estas:
Mire los datos de excepción.
catch( Exception ex )
// This contains useful information about the error.
ex.Data["CsvHelper"];
Ignorar las excepciones de lectura. Sin embargo, esto es a nivel de fila, no de campo. Permitirá que se lea todo el archivo y simplemente ignorará las filas que no funcionan. Puede obtener una devolución de llamada cuando se produce una excepción.
csv.Configuration.IgnoreReadingExceptions = true;
csv.Configuration.ReadingExceptionCallback = ( ex, row ) =>
// Do something with the exception and row data.
// You can look at the exception data here too.
;
En primer lugar, parece que necesito capturar CsvTypeConverterException.
while (csv.Read())
try
var record = csv.GetRecord();
catch (CsvTypeConverterException ex)
//ex.Data.Values has more info...
Ahora sé cómo investigar qué salió mal, pero ¿cómo me aseguro de que ese campo se omita pero el resto de los campos de esa fila se conviertan, de modo que no se deseche toda la fila?
Gracias