2009-06-23 16 views
5

Recientemente me arrojaron un código C# para hacer algunos cambios cosméticos menores. Cuando abro algunos de los archivos en Visual Studio sin embargo, se producen errores diciendo:Uso del diseñador de Visual Studio - "Referencia de objeto no configurada para una instancia de un objeto" (Visual Studio 2008)

Para evitar la posible pérdida de datos ...

El primero de estos errores es:

Referencia de objeto no establecida en una instancia de un objeto.

Puedo seguir el rastro de la pila bien, pero no estoy seguro de lo que realmente debería estar buscando en esta situación. Además, el final de mi rastro de pila tiene una llamada que termina en "PageScroller..ctor()".

Basado en un poco de investigación de Google, estoy asumiendo que eso significa llamar al constructor. ¿Es eso cierto?

Respuesta

4

Tiene un error en el modo de diseño para algún control personalizado, probablemente PageScroller, y aparentemente comenzando desde el constructor. Quizás haya algún código en el constructor que devuelva nulo en modo de diseño, y el nulo no se verifica.

+1

¿Es común (o al menos aceptable) en el mundo de C# tener un número de páginas donde funcionan bien pero que no se pueden ver en el diseñador? Parece que la mayoría de las páginas que estoy buscando funcionan, simplemente no aparecen en el diseñador. En general, eso me facilitaría las cosas para que no tenga que aprender la interfaz del diseñador, pero quería saber si eso sería considerado una "mala práctica" – Kivus

+0

No, no es aceptable, al menos no para mí . No es necesario que todos los controles cuenten con una amplia compatibilidad con Designer, pero debería ser posible, al menos, abrir la página en el diseñador, establecer propiedades y guardar la página, y que las propiedades persistan. –

+0

Excelente. Gracias por la ayuda. – Kivus

2

De vez en cuando veo problemas como este. Empecé a mover el código del constructor al evento load y eso me ayudó.

0

Asegúrese de que el automóvil genera método

InitializeComponent(); 

se llama antes de tratar de hacer referencia a cualquier objeto creado en el diseñador.

Cuestiones relacionadas