que namespace multiple example clase c# asp.net namespaces app-code

c# - namespace - ¿Cómo es que las clases en las subcarpetas de mi carpeta App_Code no se encuentran correctamente?



namespace c# que es (6)

Recibo el siguiente error cuando coloco los archivos de clase en subcarpetas de mi carpeta App_Code:

errorCS0246: No se pudo encontrar el tipo o el nombre del espacio de nombres ''MyClassName'' (¿falta una directiva using o una referencia de ensamblado?)

Esta clase no está en ningún espacio de nombres. ¿Algunas ideas?


¿Es posible que no haya configurado la carpeta como una aplicación en IIS (o su servidor web)? De lo contrario, el App_Code que se usa es el de la carpeta principal (o la siguiente aplicación hacia arriba).

Asegúrese de que la carpeta esté marcada como una aplicación y use la versión correcta de ASP.NET.


A medida que agrega carpetas a su app_code, se van separando por espacios de nombres diferentes, si no recuerdo mal, usando el espacio de nombres predeterminado como raíz y luego agregando para cada carpeta.


Compruebe la propiedad BuildAction del archivo. Esto debe establecerse en "Compilar"


En Visual Studio (al menos en 2010, pero también recuerdo versiones pasadas), puede hacer clic con el botón derecho en la carpeta, dentro del Explorador de soluciones, y luego seleccionar "Incluir en proyecto".

Luego, en la pestaña de propiedades para cada archivo (o selecciónalos todos a la vez), elige "Compilar" para la propiedad "Crear acción".

Esto funcionó para mí.


Necesita agregar codeSubDirectories a su elemento de compilación en web.config

<configuration> <system.web> <compilation> <codeSubDirectories> <add directoryName="View"/> </codeSubDirectories> </compilation> </system.web> </configuration>


Puede que no sea la forma correcta, pero creo que es la más fácil.

Cree la clase en la Carpeta principal como de costumbre, luego muévala con su mouse a su subcarpeta. Vuelva a compilar y todo debería estar bien.