Elemento compilation (Esquema de configuración de ASP.NET)
Configura todas las opciones de compilación que utiliza ASP.NET para compilar aplicaciones.
<compilation
debug="[true|false]"
batch="[true|false]"
batchTimeout="number of seconds"
defaultLanguage="language"
explicit="[true|false]"
maxBatchSize="maximim number of pages"
maxBatchGeneratedFileSize="maximum combined size"
numRecompilesBeforeAppRestart="number"
strict="[true|false]"
tempDirectory="temporary files directory"
urlLinePragmas="[true|false]"
optimizeCompilations="[true|false]"
targetFramework="2.0|3.0|3.5|4.0"
assemblyPostProcessorType="assembly post processor, assembly"
>
<assemblies>...</assemblies>
<buildProviders>...</buildProviders>
<folderLevelBuildProviders>...</folderLevelBuildProviders>
<codeSubDirectories>...</codeSubDirectories>
<compilers>...</compilers>
<expressionBuilders>...</expressionBuilders>
</compilation>
Atributos y elementos
En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.
Atributos
Atributo |
Descripción |
---|---|
assemblyPostProcessorType |
Atributo String opcional. Especifica un paso posterior al proceso de compilación de un ensamblado haciendo referencia a un postprocesador de ensamblados. Utilice el formato "postprocesador de ensamblados, ensamblado". El postprocesador de ensamblados debe implementar la interfaz IAssemblyPostProcessor. Si se usa este método de procesamiento posterior, la compilación debe depurarse, lo que puede invalidarse si se especifica el modo de implementación. Este atributo es nuevo en la versión 2.0 de .NET Framework. El valor predeterminado es una cadena vacía. |
batch |
Atributo Boolean opcional. Indica si se admite el procesamiento por lotes. Si su valor es True, elimina la demora originada por la compilación que se requiere cuando se obtiene acceso por primera vez a un archivo. Cuando este atributo se establece en True, ASP.NET precompila todos los archivos no compilados en un modo de procesamiento por lotes, lo que origina una demora aún mayor la primera vez que se compilan los archivos. Sin embargo, tras esta demora inicial, ya no se genera ninguna demora de compilación en los accesos posteriores al archivo. El valor predeterminado es True. |
batchTimeout |
Atributo TimeSpan opcional. Especifica el período de espera, en segundos, para la compilación por lotes. Si la compilación no puede completarse en el tiempo especificado, el compilador revierte al modo de compilación simple para la página actual. El valor predeterminado es 900 (15 minutos). |
debug |
Atributo Boolean opcional. Especifica si se deben compilar los archivos binarios para depuración en lugar de los archivos binarios para distribución. El tipo predeterminado es False. |
defaultLanguage |
Atributo String opcional. Especifica el lenguaje de programación predeterminado, como "C#" o "PERL", que se va a utilizar en los archivos de compilación dinámica. Los nombres del lenguaje se definen con el elemento compilers de la sección system.codeDom o con el elemento secundario compilers de este elemento (desusado). El tipo predeterminado es "vb". |
explicit |
Atributo Boolean opcional. Especifica si se va a configurar la opción de compilación explicit de Microsoft Visual Basic. Si su valor es True, todas las variables deben declararse mediante una instrucción Dim, Private, Public o ReDim. El valor predeterminado es True. |
maxBatchGeneratedFileSize |
Atributo Int32 opcional. Especifica el tamaño máximo total (en KB) de los archivos de código fuente generados en cada compilación por lotes. En general, no es una situación idónea cargar un ensamblado enorme en la memoria cuando en realidad se necesita un número menor de bits. Este límite ayuda a asegurar que el tamaño de los ensamblados sea razonable para que la aplicación pueda beneficiarse del mecanismo de compilación por lotes sin sobrecargar el sistema. Este límite es similar a maxBatchSize. El tipo predeterminado es 1000. |
maxBatchSize |
Atributo Int32 opcional. Especifica el número máximo de páginas por cada compilación por lotes. El tipo predeterminado es 1000. |
numRecompilesBeforeAppRestart |
Atributo Int32 opcional. Especifica el número de recompilaciones dinámicas de los recursos que pueden producirse antes de que se reinicie la aplicación. Este atributo puede utilizarse de forma global y en las aplicaciones, pero no en los directorios.
Nota
ASP.NET aumenta la propiedad NumRecompilesBeforeAppRestart cada vez que se invalida un ensamblado y no se puede eliminar.
El tipo predeterminado es 15. |
optimizeCompilations |
Atributo Boolean opcional. Especifica si la compilación dinámica volverá a compilar un sitio completo si se cambia un archivo de nivel superior. Entre los archivos de nivel superior se encuentran el archivo Global.asax y todos los archivos de las carpetas Bin y App_Code. Si es True, solo se vuelven a compilar los archivos que han cambiado. El tipo predeterminado es False. Para obtener más información, vea Descripción de la compilación dinámica de ASP.NET. |
strict |
Atributo Boolean opcional. Especifica si se debe habilitar la opción de compilación strict de Visual Basic. El tipo predeterminado es False. |
targetFramework |
Atributo String opcional. Especifica la versión de .NET Framework de destino del sitio web. El tipo predeterminado es Null. Si se omite este atributo, la versión de destino la determinan otros valores del archivo Web.config y el grupo de aplicaciones IIS al que está asociado el sitio web. Para obtener más información, vea CompilationSection.TargetFramework y Varias versiones de .NET Framework de destino para proyectos web ASP.NET. |
tempDirectory |
Atributo String opcional. Especifica el directorio que se usará para almacenar archivos temporales durante la compilación. El valor predeterminado es una cadena vacía (""). Si es una cadena vacía y si el proceso actual tiene los permisos de acceso necesarios, los archivos se almacenan en el directorio %ubicaciónDeInstalaciónDeFramework%\Temporary ASP.NET Files. Tenga en cuenta que sólo los procesos con permisos de alta confianza pueden obtener acceso a %ubicaciónDeInstalaciónDeFramework%\Temporary ASP.NET Files. |
urlLinePragmas |
Atributo Boolean opcional. Especifica si el compilador debe utilizar direcciones URL en lugar de rutas de acceso físicas. El tipo predeterminado es False. |
Elementos secundarios
Elemento |
Descripción |
---|---|
assemblies |
Define una colección de nombres de ensamblados que se usan durante la compilación de un recurso ASP.NET. |
buildProviders |
Define una colección de proveedores de generación que se utilizan para compilar archivos de recursos personalizados. Para obtener más información, vea la clase BuildProvider. |
codeSubDirectories |
Define una colección ordenada de subdirectorios que contienen los archivos que se compilan en tiempo de ejecución. |
compilers |
Define una colección de opciones de compilador.
Nota
En .NET Framework versión 2.0 y posteriores, este elemento ha quedado desusado en favor del elemento compilers de la sección system.codeDom.Sin embargo, el uso del elemento secundario compilers del elemento compilation sigue siendo válido y reemplaza el elemento compilers que se encuentra en la sección system.codedom.
|
expressionBuilders |
Define una colección de cadenas de recursos que se usan durante la compilación. Las cadenas de recursos asocian los prefijos con generadores de expresiones. |
folderLevelBuildProviders |
Define una colección de proveedores de compilación que se utilizan para compilar archivos de recursos personalizados en las carpetas especificadas. Los proveedores de compilación se asignan a extensiones de archivo y se utilizan para generar código de los archivos del tipo especificado. Para obtener más información, vea la clase FolderLevelBuildProvider. |
Elementos primarios
Elemento |
Descripción |
---|---|
configuration |
Especifica el elemento raíz requerido en cada archivo de configuración usado por Common Language Runtime y las aplicaciones de .NET Framework. |
system.web |
Especifica el elemento raíz de los valores de configuración ASP.NET en un archivo de configuración y contiene los elementos de configuración que configuran el comportamiento de las aplicaciones Web ASP.NET. |
Comentarios
El elemento compilation configura todas las opciones de compilación que utiliza ASP.NET para compilar aplicaciones.
En .NET Framework 2.0, el elemento secundario compilers del elemento compilation ha quedado desusado y se utiliza el elemento compilers de la sección system.codeDom. Sin embargo, el uso del elemento secundario compilers del elemento compilation sigue siendo válido y reemplaza el elemento compilers que se encuentra en la sección system.codedom.
Configuración predeterminada
El siguiente elemento compilation predeterminado no se configura explícitamente en el archivo Machine.config o en el archivo Web.config raíz. Sin embargo, es la configuración predeterminada que devuelve la aplicación. Los elementos se agregan a las colecciones assemblies, buildProviders y expressionBuilders en el archivo Web.config raíz.
<compilation
tempDirectory=""
debug="false"
strict="false"
explicit="true"
batch="true"
batchTimeout="900"
maxBatchSize="1000"
maxBatchGeneratedFileSize="1000"
numRecompilesBeforeAppRestart="15"
defaultLanguage="vb"
urlLinePragmas="false"
assemblyPostProcessorType=""
>
<assemblies>
<clear />
</assemblies>
<buildProviders>
<clear />
</buildProviders>
<expressionBuilders>
<clear />
</expressionBuilders>
</compilation>
El siguiente elemento de compilación predeterminado está configurado en el archivo Machine.config de .NET Framework 1.1. Existe una configuración similar en .NET Framework 1.0, excepto los números de versión.
<compilation debug="false" explicit="true" defaultLanguage="vb">
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<compiler language="js;jscript;javascript" extension=".js" type="Microsoft.JScript.JScriptCodeProvider, Microsoft.JScript, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<compiler language="VJ#;VJS;VJSharp" extension=".jsl" type="Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/></compilers>
<assemblies>
<add assembly="mscorlib"/>
<add assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add assembly="System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add assembly="System.Web.Services, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="System.Xml, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add assembly="System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="*"/>
</assemblies>
</compilation>
Ejemplo
En el siguiente ejemplo de código se muestra cómo configurar las opciones de compilación de una aplicación.
<configuration>
<system.web>
<compilation defaultLanguage="VB"
targetFramework="4.0"
debug="true"
numRecompilesBeforeAppRestart="15">
<assemblies>
<add assembly="ADODB"/>
<add assembly="*"/>
</assemblies>
<codeSubDirectories>
<add directoryName="mySubDir1"/>
<add directoryName="mySubDir2"/>
<add directoryName="mySubDir3"/>
</codeSubDirectories>
<buildProviders>
<buildProvider
extension=".mafx" type="BuildProviderType,
BuildProviderAssembly"
/>
</buildProviders>
</compilation>
</system.web>
</configuration>
Información de elemento
Controlador de la sección de configuración |
|
Miembro de configuración |
|
Ubicaciones configurables |
Machine.config Web.config del nivel raíz Web.config del nivel de aplicaciones Web.config del nivel de directorio virtual o físico |
Requisitos |
Microsoft Internet Information Services (IIS) 5.0, 5.1 o 6.0 .NET Framework 1.0, 1.1 ó 2.0 Visual Studio 2003 o Visual Studio 2005 |
Vea también
Tareas
Cómo: Configurar directorios concretos mediante la configuración de la ubicación
Cómo: Bloquear los valores de configuración de ASP.NET
Referencia
Elemento system.web (Esquema de configuración de ASP.NET)
Elemento assemblies para compilation (Esquema de configuración de ASP.NET)
Elemento buildProviders para compilation (Esquema de configuración de ASP.NET)
Elemento codeSubDirectories para compilation (Esquema de configuración de ASP.NET)
Elemento compilers para compilation (Esquema de configuración de ASP.NET)
Elemento expressionBuilders para compilation (Esquema de configuración de ASP.NET)
Elemento configuration (Esquema de configuración general)
Conceptos
Información general sobre la compilación de ASP.NET
Información general sobre sintaxis de páginas web ASP.NET
Jerarquía de archivos y herencia de la configuración de ASP.NET
Proteger la configuración de ASP.NET
Escenarios de configuración de ASP.NET
Varias versiones de .NET Framework de destino para proyectos web ASP.NET
Otros recursos
Opciones de configuración generales (ASP.NET)
Opciones de configuración de ASP.NET
Administración de sitios web ASP.NET