Blog Recent Posts

This Blog

Syndication

Search

Tags

News

Community

Email Notifications

Archives

Blogs recomendados

Sitios

Utilizar VB.NET y C# al mismo tiempo en la carpeta APP_CODE de ASP.NET

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?....

  1. 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>
  2. Luego tendías que crear estos directorios
    /App_Code/App_Code_VB
    /App_Code/App_Code_CS

  3. 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:

Published 11/4/2008 18:11 por José A. Fernández

Comparte este post:

Comentarios

# re: Utilizar VB.NET y C# al mismo tiempo en la carpeta APP_CODE de ASP.NET@ Saturday, April 12, 2008 11:42 AM

Muy bueno este truco, no sabia que esto era posible.

Saludos.

Marc Rubiño

# re: Utilizar VB.NET y C# al mismo tiempo en la carpeta APP_CODE de ASP.NET@ Wednesday, March 4, 2009 11:01 PM

Gracias por la info! :)

Me ha solucionado un pequeño problemilla.. jeje

Saludos

Alternativegas

# re: Utilizar VB.NET y C# al mismo tiempo en la carpeta APP_CODE de ASP.NET@ Wednesday, August 19, 2009 5:20 AM

Muchas Gracias, por este tip.

Me es muy util.

Saludos

Ben

# re: Utilizar VB.NET y C# al mismo tiempo en la carpeta APP_CODE de ASP.NET@ Tuesday, December 29, 2009 5:21 PM

No se Si este post este vigente, muy util , lo implemente para tener acceso a una clase en C#, sin embargo cuando la llamo desde el código Vb (Asp.net, Visual Studio 2005) no encuentro la clase para poder usarla, quizas haya algun otro detalle que se me escapa.

Lo Agradecería

Gracias

Alberto

<alberto

# re: Utilizar VB.NET y C# al mismo tiempo en la carpeta APP_CODE de ASP.NET@ Thursday, January 21, 2010 4:43 PM

has mirado si tienes en las propiedades de contrucion de la clase en compile no content¿¿¿????

yehhhhh