tengo el siguiente escenario:error en controles de usuario de carga dinámica que hacen referencia a otros controles en diferentes directorios
Mi estructura de directorios es:
- ./Pages/Page.aspx
- ./RedControls /RedControl.ascx
- ./BlueControls/BlueControl.ascx
Page.aspx.cs crea dinámicamente RedControl:
RedControls_RedControl C = (RedControls_RedControl)Page.LoadControl("~/RedControls/RedControl.ascx");
RedControl.ascx utiliza BlueControl:
<uc:BlueControl runat="server" ID="ctrControl" />
Esto funciona muy bien en el modo de desarrollo, sin embargo, cuando despliego, consigo:
Tipo de excepción - HttpParseException - La base class incluye el campo 'ctrControl', pero su tipo (BlueControls_BlueControl) no es compatible con el tipo de control (ASP.BlueControls_BlueControl_ascx).
Si muevo RedControl y BlueControl en el mismo directorio, entonces funciona bien cuando se implementa.
¿Cómo puedo hacer que esto funcione sin tener que mover archivos a un único directorio (tenemos demasiadas instancias de esto).
Cualquier observación sería muy apreciada.
¿Existen quizás versiones antiguas de archivos ASCX o DLL implementados? El hecho de que dice que el tipo no es compatible me indica que está cargando el tipo de una fuente inesperada. – Jacob
No, no hay versiones anteriores implementadas. Instalación fresca. – Jack
intenté utilizar ".." en lugar de "~", como "LoadControl (" ../ RedControls/RedControl.ascx "); – Akhil