Pregunta

Tengo un sitio web que contiene 2 archivos de la siguiente manera:

  • Page.aspx
  • page.aspx.cs

Lo que solía ser que solo pude colocar nuevos archivos en el servidor web IIS y se compilará automáticamente los archivos y pude acceder a la página por ejemplo.

http://www.website.com/page.aspx

... y la funcionalidad asociada en la clase de página contenida en el archivo .cs funcionaría muy bien.

Ahora me sale el error: "No se pudo cargar el tipo namespace.classname" que se refiere a mi clase de página

Ahora por alguna extraña razón tengo que poner todos mis archivos .cs, incluso clases de página en la carpeta App_Code.

Todo lo que ha cambiado en mi sitio web es que reorganicé la estructura de modo que en lugar de mis páginas de estar en la raíz de la web que ahora están dentro de http:. //.../newfolder/page.aspx

Por alguna razón todos mis archivos page.aspx.cs ahora tienen que estar en App_Code.

¿Alguna idea?

¿Fue útil?

Solución

Parece que está mezclando un proyecto de aplicación web y un sitio Web.

¿Estás seguro de que los archivos son exactamente lo mismo? Tal vez una directiva @Page dice CodeBehind = Page.aspx.cs y el otro dice CodeFile = Page.aspx.cs?

CodeBehind requiere la compilación de proyectos, por lo que no podemos dejar de lado en un nuevo archivo .cs, es necesario cargar un nuevo archivo DLL compilado. CodeFile permitirá la compilación dinámica.

El directorio App_Code se compila dinámicamente (en ambos casos) cuando se accede a la aplicación, por lo que la directiva Heredar tiene un tipo válido cuando se pone el archivo allí. En general, no me hagas esto. Desea que el archivo .cs para ir con el archivo .aspx. Utilice App_Code para las clases de lógica de negocio o de servicios públicos que no están asociados con una página en particular.

Por último, es este nuevo subdirectorio creado como una nueva aplicación en IIS? ¿Qué hace el archivo web.config en su nuevo cambio de directorio? ¿Está ejecutando la misma versión de ASP.NET? Compruebe la etiqueta de "compilación". No estoy seguro de lo que podría hacer allí para causar esto, pero estoy seguro de que podría causar algunos caos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top