2010-02-15 17 views
7

Hay una gran biblioteca que encontré here. Es AeroWizard hecho en Windows Forms, y maneja Aero Basic elegantemente. Lo que es increíble es que se supone que tiene soporte de diseñador. Cuando intento abrir cualquiera de los WizardPages en la muestra en el Diseñador de formularios, me sale este error:¿Hay alguna forma de usar un control personalizado en el diseñador y evitar el GAC?

Could not find type 'Aero.Controls.MainInstructionsLabel'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built using settings for your current platform or Any CPU.

se hace referencia a la biblioteca en mi proyecto bajo Aero.Controls y Aero.Wizard, así que no estoy muy seguro que esta pasando mal

¿Necesito que GAC registre un conjunto para tener soporte de diseñador?

Editar: acabo de comprobar con reflector, aquí están las referencias

Aero.Controls
mscorlib
Sistema
System.Drawing
System.Windows.Forms
user32.dll

Aero.Wizard
mscorlib
sistema
System.Drawing
System.Windows.Forms
dwmapi.dll
Gdi32.dll
user32.dll
uxtheme.dll

Nada aparte de las DLL nativa me preocupa, pero yo no No veo cómo evitarían que el Formulario se renderice en el Diseñador.

Aquí está una captura de pantalla del diseñador: alt text http://www.ceasetopanic.com/wp-content/uploads/2010/02/compile-error.jpg

Respuesta

3

Visual Studio no debería tener problemas para encontrar el control y cargarlo, siempre que el proyecto que lo utiliza haya hecho referencia a la DLL. Es posible que desee intentar construir el proyecto y luego cerrar y volver a abrir Visual Studio. No es necesario que la asamblea esté en el GAC.

También puede intentar abrir el conjunto en Reflector para ver si hace referencia a otros conjuntos que no tiene. Si Aero.Controls hace referencia a otro ensamblado al que no se ha hecho referencia y Visual Studio no puede encontrarlo al buscarlo, verá ese tipo de error y GAC 'los ensamblados mencionados anteriormente no solucionaría eso.

+1

Esto suena como un problema con otro ensamblado al que se hace referencia que no se encuentra. – kyoryu

+0

Resulta que el ensamblado se firmó, el archivo "snk" faltaba en mi carpeta lib, copié desde la fuente y ahora el diseñador carga jsut bien. – Chris

1

Visual Studio tiene que ser capaz de encontrarlos. Por lo general, esto significa que el GAC, sin embargo, puede utilizar el truco que utilizo here on my blog para engañar a una aplicación para que busque en otro lado. Lo he usado para engañar a outlook para encontrar nuestras dlls cuando escribimos complementos. Personalmente creo que el GAC puede ser menos dolor de cabeza en términos de mantenimiento.

Cuestiones relacionadas