Reflection y/o hacer ingeniería inversa de cualquier versión de Microsoft SharePoint está no soportado.
Hola.
¿Qué tal?
Últimamente, estamos viendo bastantes códigos desarrollado por clientes que se basan en funcionalidades que han sido obtenidas por ingeniería inversa y/o llamadas a métodos privados/internos del producto vía System.Reflection (¿Qué es Reflection?)
Nos gustaría informaros que estas prácticas están totalmente no soportadas y es una violación del EULA que se acepta durante la instalación del producto como podéis ver en la siguiente captura de ejemplo de los términos de SPS 2010:
Además de la violación de los términos anteriores, este hecho puede impactar negativamente en el entorno haciéndolo inestable o crear efectos colaterales. Estas propiedades/métodos privados/internos son de uso exclusivo por el código interno de Microsoft SharePoint. Por otro lado, sólo están soportados las propiedades/métodos expuestas por la API pública de MSDN o el SDK de cualquier versión de SharePoint (2001/2003/2007/2010).
Finalmente, comentaros que se os pedirá cambiar el código en cuestión a uno soportado, siendo está la resolución de la incidencia. Si el problema siguiera ocurriendo con el código soportado se proseguiría la investigación en un nuevo caso de soporte al haber cambiado el entorno que sufre el problema.
Esperamos que os haya sido de ayuda.
Gracias.
Un saludo.
Héctor Calvarro Martín. SharePoint Dev/Core. Microsoft Support Escalation Engineer for EMEA.