25 enero 2008

Origenes de datos en VS2005

Ayer me pasó una cosa curiosa, algo muy tonto que me tuvo ocupado toda la mañana:

Estoy añadiendo a una librería (L1) una clase (C1) que antes tenía en otra librería a parte (L2), al cambiarla de sitio también cambié el espacio de nombres, hasta aquí todo normal. El problema vino cuando para probar que los cambios eran todos correctos intenté utilizar un formulario muy simple (con un grid y un binding a objetos) de un proyecto que ya creé anteriormente para probar la clase en la librería L2. Como la clase había cambiado de espacio de nombres, lo primero que hice fué quitar el bindingSource y añadir uno nuevo, cuando desplegué la propiedad DataSource me dió un error "Instancia de objeto establecida a null" o algo así, ahí ya me quedé extrañado. Pensé que algo se había quedado colgado en el formulario por lo que volví a eliminar el binding y de paso eliminé también el grid. Volví a introducir un grid y binding nuevo, y al intentar desplegar otra vez el DatSource, el mismo error. Probé a enganchar el Datagrid y desplegué también el datasource del grid (aquí ya me queé muerto) y me petó el VisualStudio. ¿?
Añadí un nuevo formulario para ver si era cosa del anterior y los mismos errores.

Ya pensaba que era algo del VS y repare la instalación del VS, volvía a fallar, desisntalé y volví a instalar y lo mismo.

Al final con la ayuda de un compañero descubrimos que en los orígenes de datos se había quedado el origen de datos a objeto de la clase cuando estaba en la librería L2 con el antiguo espacio de nombre. Simplemente con eliminar esat referencia funcionó todo correctamente.

Atención: Cuando movemos clases de espacio de nombres hay que eliminar los origenes de datos a estas.