JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Resolver el error “No se puede encontrar el tipo” al cargar un formulario con un control propio

Yo no programo demasiado para Windows Forms, ya sabéis que lo mío es más la Web. Pero últimamente estoy trabajando a los ratos en un proyecto que tienen una parte de visualización para escritorio hecha con esta tecnología. Como soy partidario de reutilizar al máximo, siempre encapsulo la funcionalidad todo lo que puedo, incluyendo funcionalidad de la interfaz de usuario. Por eso en este trabajo, tengo varios controles de usuario listos para arrastrar y soltar en cualquier formulario que los requiera.

El caso es que tras haber trasteado bastante con la interfaz, de repente algunos formularios me empezaron a fallar, mostrándome un error como el de la figura (yo trabajo con todo en inglés, incluidos los nombres de clases  y variables):

ErrorCargaControl1 
(la parte difusa lleva el nombre del control que no se carga y su espacio de nombres)

A pesar de que en el código del diseñador del formulario todo parecía estar bien y se reconoce el tipo del control y a pesar de que si ejecutas la aplicación los controles se muestran y funcionan perfectamente no hay manera de hacer que el formulario los muestre correctamente en tiempo de diseño…

La solución viene del lado más insospechado y es en las propiedades de compilación del proyecto. Aunque mi sistema es de 64 bits, Visual Studio 2010 (y por lo tanto sus diseñadores) sigue siendo una aplicación de 32 bits. En las propiedades del proyecto había cambiado la plataforma de destino para que fuera x64. Esto está bien para el modo “release”, es decir, para la versión final de la aplicación. Pero en modo depuración que es como trabajas normalmente con Visual Studio, si quieres que el entorno pueda sacar partido a todas sus funcionalidades debes compilar para 32 bits, es decir para x86.

Así que basta con ir a las propiedades del proyecto Windows Forms y en la pestaña “Build” asegurarte de que para depuración tienes x86 elegido:

ErrorCargaControl2

A partir de ese momento todos los controles volverán a funcionar en tiempo de diseño y los formularios volverán a cargar.

¡Espero que resulte útil!

José Manuel Alarcón
Banner

Comentarios (1) -

Excelente descubrimiento!! yo tambien tenia el mismo problema (despues de estar varias horas programando me salio el error). Muchas gracias por la publicacion

Responder

Agregar comentario