Bueno he de aqui que por las cosas de la vida y componentes que reutilice y falta de tiempo necesite utilizar clases en VB.NET y C# dentro de la carpeta APP_CODE en un proyecto web en VS2005..
Coloque mis clases Clase1.vb y Clase2.cs en la carpeta y genero el siguiente error:
Exception Details: System.Web.HttpException: The files '/WebSite1/App_Code/Clase2.cs' and '/WebSite1/App_Code/Clase1.vb' use a different language, which is not allowed since they need to be compiled together.
Pero no crei que tuviera esta limitación asi que me dedique a verificar como seria el proceso de indicarle el tipo de lenguaje que se utiliza en la famosa carpeta... por defecto el directorio APP_CODE puede contener clases del mismo lenguaje, pero se puede agregar subdirectorios e indicar a ASP.NET que los compile separadamente.
Cual es el proceso?....
- Primeramente insertar en la seccion de <;compilation>; del webconfig estas lineas que agregan un coleccion de subdirectorios que asp.net debe compilar en forma separada, o mejor dicho de forma agrupada por estos directorios...
<;codeSubDirectories>;
<;add directoryName="App_Code_VB"/>;
<;add directoryName="App_Code_CS"/>;
<;/codeSubDirectories>;
- Luego tendrias que crear estos directorios
/App_Code/App_Code_VB
/App_Code/App_Code_CS
- Y llegando al final, distribuir nuestras clases de VB.NET dentro de la carpeta correspondiente App_Code_VB, y las de C# en la carpeta App_Code_CS
Algunos datos interesantes (desde los enlaces a MSDN):
- El orden de generación se deduce del orden descendente de la colección codeSubDirectories.
- El directorio App_Code se genera en último lugar.
- Los subdirectorios se muestran en el orden en el que se debe compilar el código para cumplir sus dependencias, pero...
- No existen dependencias de orden de generación, lo que significa que este orden no es significativo.
- No hay ningún elemento codeSubDirectories predeterminado configurado para ASP.NET.
- Puede haber cualquier número de subdirectorios
Enlaces:
- Sharing Code Between Pages
http://dotnetjunkies.com/QuickStartv20/aspnet/doc/pages/code.aspx
- Elemento codeSubDirectories para compilation (Esquema de configuración de ASP.NET)
http://msdn2.microsoft.com/es-es/library/54dwfbb7.aspx
- Elemento add aplicado a codeSubDirectories para compilation (Esquema de configuración de ASP.NET)
http://msdn2.microsoft.com/es-es/library/221faf8e.aspx
- CompilationSection.CodeSubDirectories (Propiedad)
http://msdn2.microsoft.com/es-es/library/system.web.configuration.compilationsection.codesubdirectories.aspx _____________________
Jose A. Fernandez