Para deshabilitar al diseñador de componentes en las clases, es sencillo agregar solo el atributo [System.ComponentModel.DesignerCategory ("")], sin embargo, no funciona para ninguna clase derivado de esta clase en cualquier generación. Por ejemplo:Cómo deshabilitar el diseñador en las clases derivadas en las generaciones siguientes
[System.ComponentModel.DesignerCategory("")]
public class A:ServiceBase { } //Designer is disabled here
public class B:A {} //Designer is enabled here
[System.ComponentModel.DesignerCategory("")]
public class B:A {} //Designer is enabled here too
[System.ComponentModel.DesignerCategory("Code")]
public class B:A {} //Designer is enabled even here
Esto sucede, por supuesto, en cualquier otra generación y permutaciones. P.ej.
//Whatever attribute here
public class C:B {} //Designer is enabled here
¿Alguna vez alguien trató de deshacerse de él? ¿Por qué el modelo de componentes intenta agregar soporte de diseñador incluso si se desactiva explícitamente en la primera generación?
Gracias
ensamblados de referencia
No está muy claro exactamente en qué ensambles viven estas clases y si son o no parte de la solución. La caja de herramientas 'AutoPopulate configuración tiene prioridad. –
esto no se menciona. ya sea base y clases derivadas en el mismo ensamblado o están en ensambles diferentes el comportamiento es el mismo (solo la clase base [una derivada directamente de ServiceBase] no tiene diseñador) – Tamir