Compartir a través de


Conversión de soluciones Web y archivos de proyectos

Actualización: noviembre 2007

Visual Studio 2005 cambia el modelo de los proyectos Web en muchos aspectos. Por ejemplo, ya no hace falta un archivo de proyecto porque todos los archivos de la carpeta de la aplicación Web se consideran parte del proyecto Web.

El nuevo modelo de proyecto Web afecta a la conversión de archivos, por ejemplo las páginas de formularios Web Forms ASP.NET (archivos .aspx), controles de usuario ASP.NET(archivos .asxc), el archivo Global.asax y el archivo Web.config. Los cambios exactos realizados en estos archivos dependen del lenguaje de programación del proyecto que se vaya a convertir.

Visual Studio 2005 cambia el modelo de código asociado para utilizar clases parciales, que permiten que una clase abarque varios archivos. En el modelo de código asociado anterior, el archivo .aspx deriva de un archivo de clase compilado creado a partir del archivo de código subyacente correspondiente (.aspx .vb o .aspx .cs). En el nuevo modelo de código subyacente, el archivo .aspx hereda de una clase compilada formada por el archivo .aspx.vb o .aspx.cs correspondiente, además de un archivo de código auxiliar que se genera a partir del archivo .aspx y que define las declaraciones de campos para los controles utilizados en el archivo .aspx. Este cambio permite que el código generado automáticamente sea independiente del código de usuario. Los controles de usuario (.ascx) y los archivos de código subyacente de los controles de usuario se tratan de la misma forma. Para obtener información sobre el modelo de código asociado, vea Modelo de código de las páginas web ASP.NET.

Visual Studio 2005 cambia el modelo de compilación, que pasa de generar un ensamblado a generar varios. Cada página Web ASP.NET y control de usuario se puede compilar en su propio ensamblado. Este cambio admite más escenarios de implementación, como la publicación del código fuente en el servidor y dejar que compile dinámicamente partes de la aplicación Web, según sea necesario.

Archivos de código subyacente

Los cambios siguientes se realizan en las páginas Web ASP.NET y los controles de usuario durante la conversión al nuevo modelo de código asociado de la versión 2.0 de ASP.NET:

  • El atributo CodeBehind de la directiva @ Page cambia a un atributo CodeFile.

  • Se agrega un atributo Inherits a la directiva @ Page que indica el archivo asociado de clase para la compilación.

  • Todas las definiciones de clases de código subyacente cambian para implementar la palabra clave Partial.

  • Las declaraciones de miembro para los controles de usuario se quitan de la página de código subyacente. En el modelo de compilación con archivos, se crean automáticamente instancias de los controles de usuario a partir del código declarativo.

  • Los eventos se enlazan a controles utilizando sintaxis declarativa. Por ejemplo, el evento Click de un control Button se enlaza al control agregando un atributo OnClick al elemento asp:button en el código declarativo. Se quitan los delegados y la palabra clave de Visual Basic Handles en los métodos. Los delegados no se quitan de los miembros no representados en el código declarativo, por ejemplo los delegados para los controles creados dinámicamente.

  • Las declaraciones de miembro en archivos de clase (pero no en clases de página) marcados como Friend o Internal se cambian a Public.

  • Los puntos de interrupción del depurador no se convierten y no aparecerán en los archivos convertidos.

    Nota:

    Si una página Web o un control de usuario no tiene un atributo CodeBehind en la directiva @ Page, no se convierte. De igual forma, las páginas o controles Web que tengan un atributo Src se dejan como están.

Archivos de código independientes

Se realizan los siguientes cambios en los archivos de código independientes:

  • Los archivos de código independientes se trasladan al directorio App_Code.

  • Las declaraciones de miembro marcadas como Friend o Internal cambian a Public. Este cambio es necesario porque, con varios ensamblados, el nivel de acceso debe permitir que los miembros sean visibles desde los ensamblados que no sean el ensamblado que contiene el archivo de código independiente compilado.

  • Las llamadas al método Type.GetType se cambian por el método BuildManager.GetType. El método BuildManager.GetType encuentra los tipos en los ensamblados de nivel superior.

  • Los puntos de interrupción del depurador no se convierten y no aparecerán en los archivos convertidos.

Configuración del diseñador

Las opciones de configuración en una página relativas al diseñador se controlan de maneras diferentes durante la conversión:

  • El atributo MS_POSITIONING (diseño de flujo o diseño de cuadrícula) se deja como está, y Visual Studio conserva esta opción junto con los atributos de ubicación absoluta de cada uno de los controles. Sin embargo, de forma predeterminada, las páginas nuevas de Visual Studio utilizan el diseño de flujo y no contienen el atributo MS_POSITIONING.

  • La etiqueta <meta> para el lenguaje predeterminado de secuencias de comandos de cliente se deja como está.

Archivo Global.asax

Cuando se convierte el archivo Global.asax, su archivo de código subyacente se desplaza al directorio App_Code. El proceso de conversión realiza los cambios siguientes:

  • Los atributos CodeBehind y Inherits se quitan de la directiva @ Application - Global.asax.

  • Se agrega un atributo Language a la directiva @ Page si todavía no se ha especificado ninguno.

  • Para Visual Basic, se agrega una instrucción Namespace al archivo de clase. El espacio de nombres de raíz queda definido por el espacio de nombres del proyecto Web.

Archivo Web.config

En Visual Studio 2005, el archivo Web.config admite una mayor variedad de elementos que en Visual Studio .NET. Por ejemplo, las opciones de configuración del proyecto que se siguen utilizando en Visual Studio se convierten a menudo en el archivo Web.config. Para obtener información detallada, vea Conversión de la configuración de proyectos Web.

Vea también

Conceptos

Información general sobre proyectos de aplicaciones web

Conversión de proyectos web de Visual Studio .NET

Conversión de la configuración de proyectos Web

Otros recursos

Sintaxis de Global.asax

Opciones de configuración de ASP.NET

Archivos de configuración de ASP.NET

Sintaxis de Global.asax