Esta documentación está archivada y no tiene mantenimiento.

Control de archivos durante la compilación previa de ASP.NET

Visual Studio 2005

Al realizar una compilación previa o precompilar un sitio para realizar una implementación, ASP.NET crea un diseño; es decir, una estructura que contiene los resultados del compilador. En este tema se describe cómo trabajar con los archivos durante la precompilación, así como la estructura del diseño y su contenido.

Es posible precompilar tanto el código fuente (cualquier archivo que genera un ensamblado, incluido el código del programa y los recursos) como el marcado (archivos .aspx), o sólo el código fuente. Para obtener información detallada, vea Información general sobre la compilación previa de sitios Web ASP.NET.

Archivos compilados

El proceso de precompilación realiza acciones en distintos tipos de archivos en una aplicación Web ASP.NET. Los archivos se tratan de manera diferente dependiendo de si la aplicación se precompila solo para implementación o si se precompila para implementación y actualización.

NoteNota

Al precompilar un sitio para la implementación o para la implementación y la actualización no se conservan las listas de control de acceso (ACL) a archivos en los archivos y subdirectorios de destino. Por ejemplo, si precompila un sitio y lo implementa en una ubicación de destino y después cambia la ACL de un archivo y, a continuación, vuelve a precompilar y a implementar el sitio, se perderá el cambio de la ACL.

En la siguiente tabla se describen los diferentes tipos de archivo y las acciones que realizan si la aplicación sólo se precompila para implementación.

Tipos de archivo Acción de precompilación Ubicación de salida

.aspx, ascx, .master

Genera ensamblados y un archivo .compiled que señala al ensamblado. El archivo original se deja en su lugar como marcador para las solicitudes que se atienden.

Los ensamblados y archivos .compiled se escriben en la carpeta Bin. Las páginas (archivos .aspx, con contenido eliminado) se dejan en su ubicación original.

.asmx, .ashx

Genera ensamblados. El archivo original se deja en su lugar como marcador para las solicitudes que se atienden.

Carpeta Bin

Archivos de la carpeta App_Code

Genera uno o varios ensamblados (según la configuración de Web.config).

NoteNota
El contenido estático de la carpeta App_Code no se copia en la carpeta de destino.

Carpeta Bin

Archivos .cs o .vb que no se encuentran en la carpeta App_Code

Compila con la página o recurso que depende de él.

Carpeta Bin

Archivos .dll de la carpeta Bin

Copia los archivos tal cual.

Carpeta Bin

Archivos de recursos (.resx)

Para archivos .resx situados en las carpetas App_LocalResources o App_GlobalResources, genera un ensamblado o ensamblados y una estructura de referencia cultural.

Carpeta Bin

Archivos de la carpeta App_Themes y subcarpetas

Genera ensamblados en el destino y archivos .compiled que señalan a los ensamblados.

Bin

Archivos estáticos (.htm, .html, .js, archivos gráficos, etc.)

Copia los archivos tal cual.

La misma estructura que en el origen.

Archivos de definición del explorador

Copia los archivos tal cual.

NoteNota
La información del explorador se hereda de los archivos de configuración del nivel de equipo y, por lo tanto, pueden comportarse de manera diferente en el servidor de destino.

App_Browsers

Proyectos dependientes

Genera el resultado del proyecto dependiente en un ensamblado.

Carpeta Bin

Archivos Web.config

Copia los archivos tal cual.

La misma estructura que en el origen.

Archivos Global.asax

Compila en el ensamblado.

Carpeta Bin

En la siguiente tabla se describen los diferentes tipos de archivo y las acciones que se realizan con los mismos si la aplicación se precompila para la implementación y la actualización.

Tipos de archivo Acción de precompilación Ubicación de salida

.aspx, ascx, .master

Genera ensamblados para archivos con archivos de clase de código subyacente y un archivo .compiled que señala al ensamblado. Las versiones de un solo archivo de estos archivos se copian tal cual en el destino.

Los ensamblados y archivos .compiled se escriben en la carpeta Bin.

.asmx, .ashx

Copia los archivos tal cual sin compilarlos.

La misma estructura que en el origen.

Archivos de la carpeta App_Code

Genera uno o varios ensamblados (según la configuración de Web.config).

NoteNota
El contenido estático de la carpeta App_Code no se copia en la carpeta de destino.

Carpeta Bin

Archivos .cs o .vb que no se encuentran en la carpeta App_Code

Compila con la página o recurso que depende de él.

Carpeta Bin

Archivos .dll de la carpeta Bin.

Copia los archivos tal cual.

Carpeta Bin

Archivos de recursos (.resx)

Para archivos .resx en las carpetas App_GlobalResources, genera un ensamblado o ensamblados y una estructura de referencia cultural.

Para archivos .resx en las carpetas App_LocalResources, copia los archivos tal cual en la carpeta App_LocalResources de la ubicación de salida.

Los ensamblados se colocan en la carpeta Bin.

Archivos de la carpeta App_Themes y subcarpetas

Copia los archivos tal cual.

La misma estructura que en el origen.

Archivos estáticos (.htm, .html, .js, archivos gráficos, etc.)

Copia los archivos tal cual.

La misma estructura que en el origen.

Archivos de definición del explorador

Copia los archivos tal cual.

NoteNota
La información del explorador se hereda de los archivos de configuración del nivel de equipo y, por lo tanto, pueden comportarse de manera diferente en el servidor de destino.

App_Browsers

Proyectos dependientes

Genera el resultado del proyecto dependiente en un ensamblado.

Carpeta Bin

Archivos Web.config

Copia los archivos tal cual.

La misma estructura que en el origen.

Archivos Global.asax

Compila en el ensamblado.

Carpeta Bin

Archivos .compiled

Para los archivos ejecutables de una aplicación Web ASP.NET, los ensamblados y archivos compilados con la extensión de nombre de archivo .compiled. El compilador genera el nombre de ensamblado. El archivo .compiled no contiene código ejecutable. Por el contrario, sólo contiene la información que ASP.NET necesita para encontrar el ensamblado adecuado.

Después de implementar la aplicación precompilada, ASP.NET utiliza los ensamblados de la carpeta Bin para procesar solicitudes. El resultado de precompilación incluye archivos .aspx o .asmx como marcadores de posición para las páginas. Los archivos de marcador no contienen código. Sólo existen con el fin de proporcionar una forma de invocar a ASP.NET para una solicitud de página determinada y para que los permisos de archivo se puedan establecer para restringir el acceso a las páginas.

Actualiza los sitios Web implementados

Después de implementar un sitio Web precompilado, se pueden realizar algunos cambios en los archivos del sitio, con ciertas limitaciones. En la tabla siguiente se describe el efecto de algunos tipos de cambios.

Tipo de archivo Cambios permitidos (sólo para implementación) Cambios permitidos (implementación y actualización)

Archivos estáticos (.htm, .html, .js, archivos gráficos, etc.)

Los archivos estáticos se pueden cambiar, quitar o agregar. Si una página Web ASP.NET hace referencia a páginas o elementos de página que se cambian o se quitan, podrían producirse errores.

Los archivos estáticos se pueden cambiar, quitar o agregar. Si una página Web ASP.NET hace referencia a páginas o elementos de página que se cambian o se quitan, podrían producirse errores.

Archivo .aspx

No se permite realizar ningún cambio en las páginas existentes. No se puede agregar ningún archivo .aspx nuevo.

Se puede cambiar el diseño de los archivos .aspx y agregar elementos que no requieran código, como elementos HTML y controles de servidor ASP.NET sin controladores de eventos. También se pueden agregar archivos .aspx nuevos que normalmente se compilarán en la primera solicitud.

Archivos .skin

Los cambios y los nuevos archivos .skin se pasan por alto.

Se permiten cambios y nuevos archivos .skin.

Archivos Web.config

Se permiten cambios que afecten a la compilación de archivos .aspx. Se pasan por alto las opciones de compilación para depurar o para el procesamiento por lotes.

No se permite ningún cambio en las propiedades de perfiles o en los elementos de proveedor.

Se permiten cambios si no afectan a la compilación de un sitio o una página; por ejemplo, a la configuración del compilador, los niveles de confianza o la globalización. Se pasan por alto los cambios que afectan a la compilación o que modifican el comportamiento de las páginas compiladas. También podrían generarse errores en algunos casos. Se permiten otros cambios.

Definiciones del explorador

Se permiten cambios y archivos nuevos.

Se permiten cambios y archivos nuevos.

Ensamblados compilados de los archivos de recursos (.resx)

Se pueden agregar ensamblados de recursos nuevos tanto para los recursos globales como locales.

Se pueden agregar ensamblados de recursos nuevos tanto para los recursos globales como locales.

Vea también

Mostrar: