Sharepoint 2010 – Excepción (String was not recognized as a valid DateTime) al agregar una nueva versión en un DocumentSet

Si estas trabajando sobre Sharepoint 2010 y obtienes un bonito error (String was not recognized as a valid DateTime) al intentar, programaticamente, agregar una nueva versión con un código parecido a este:

DocumentSet.VersionCollection.Add(true, "");

Entonces es que has sido víctima de una actualización de DLL (Microsoft.Office.documentmanagement.dll) de Microsoft, concretamente a partir de la CU de Agosto 2012 el multi-idioma ya no funciona y no se pueden crear versiones de los DocumentSet.

Tienes dos opciones, por un lado puedes volver a una versión anterior que no tenga el fallo (que yo sepa, la CU de Junio 2011, no tiene este fallo), o actualizar a una versión superior con el fallo corregido.

La otra opción es cambiar un poco el código y cambiar el idioma justo antes de la instrucción que falla, lo que podríamos hacer es ponerlo en ingles antes de ejecutarla y luego volver a español. Yo he comprobado que el siguiente código resuelve el problema:

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
DocumentSet.VersionCollection.Add(true, "");
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es-ES");

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.