Justamente me acaban de preguntar como utilizar estos lenguajes de este modo. Este articulo lo escribí en Septiembre de 2006, y lo había colgado de otro en MisTrucos.NET, en mi Space.
Aquí en Geeks.ms ya lo comento José M. Alarcón, en base a cualquier lenguaje:
Quise postearlo aquí para que quede en el historial ;)
Aquí va...
Bueno he de aquí 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 creí que tuviera esta limitación así 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 tendías 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:
Comparte este post: