compilation, élément (Schéma des paramètres ASP.NET)

Mise à jour : novembre 2007

Configure tous les paramètres de compilation qu'ASP.NET utilise pour compiler des applications.

<configuration>, élément
  system.web, élément (Schéma des paramètres ASP.NET)
    compilation, élément (Schéma des paramètres ASP.NET)

<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]"
   assemblyPostProcessorType="assembly post processor, assembly"
>
   <assemblies>...</assemblies> 
   <buildproviders>...</buildproviders>
   <codeSubDirectories>...</codeSubDirectories>
   <compilers>...</compilers>
   <expressionBuilders>...</expressionBuilders>
</compilation>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut

Description

assemblyPostProcessorType

Attribut String facultatif.

Spécifie une étape de compilation de post-traitement d'un assembly en faisant référence à un programme de post-traitement d'assembly. Utilisez le format "programme de post-traitement d'assembly, assembly". Le programme de post-traitement d'assembly doit implémenter l'interface IAssemblyPostProcessor. L'utilisation de cette méthode de post-traitement impose un débogage de la compilation, que vous pouvez substituer en spécifiant le mode de déploiement.

Cet attribut est une nouveauté du .NET Framework version 2.0.

La valeur par défaut est une chaîne vide.

batch

Attribut Boolean facultatif.

Indique si le traitement par lots est activé.

Si la valeur est True, élimine le délai provoqué par la compilation requise lorsque vous accédez pour la première fois à un fichier. Lorsque cet attribut a la valeur True, ASP.NET précompile tous les fichiers non compilés en mode batch, qui induit un délai encore plus long lors de la première compilation des fichiers. Toutefois, par la suite, le délai de compilation est éliminé lors de l'accès suivant au fichier.

La valeur par défaut est True.

batchTimeout

Attribut TimeSpan facultatif.

Spécifie le délai d'attente, exprimé en secondes, pour la compilation par lots. Si la compilation ne peut pas être effectuée dans le délai imparti, le compilateur revient au mode de compilation simple pour la page en cours.

La valeur par défaut est "900" (15 minutes).

debug

Attribut Boolean facultatif.

Spécifie s'il convient de compiler avec des fichiers binaires de débogage ou en version commerciale.

La valeur par défaut est False.

defaultLanguage

Attribut String facultatif.

Spécifie le langage de programmation par défaut, par exemple "C#" ou « PERL », à utiliser dans les fichiers de compilation dynamique. Les noms des langages sont définis à l'aide de l'élément compilers de la section system.codeDom, ou de l'élément enfant compilers de cet élément (désapprouvé).

La valeur par défaut est "vb".

explicit

Attribut Boolean facultatif.

Spécifie s'il faut définir l'option de compilation explicit de Microsoft Visual Basic. Si la valeur est True, toutes les variables doivent être déclarées à l'aide d'une instruction Dim, Private, Public ou ReDim.

La valeur par défaut est True.

maxBatchGeneratedFileSize

Attribut Int32 facultatif.

Spécifie la taille maximale combinée (en Ko) des fichiers sources générés au cours d'une compilation par lots. En général, il est déconseillé de charger un assembly volumineux en mémoire lorsqu'en fait, un nombre inférieur de bits est requis. Cette limite garantit que la taille des assemblys reste dans une plage acceptable afin que l'application tire parti du mode batch sans surcharger le système. Cet attribut est similaire à maxBatchSize.

La valeur par défaut est 1000.

maxBatchSize

Attribut Int32 facultatif.

Spécifie le nombre maximal de pages générées au cours d'une compilation par lots.

La valeur par défaut est 1000.

numRecompilesBeforeAppRestart

Attribut Int32 facultatif.

Spécifie le nombre de recompilations dynamiques de ressources qui peuvent intervenir avant le redémarrage de l'application. Cet attribut est pris en charge au niveau global et au niveau de l'application, mais pas au niveau du répertoire.

Remarque :

ASP.NET augmente la propriété NumRecompilesBeforeAppRestart chaque fois qu'un assembly n'est plus valide et ne peut pas être supprimé.

La valeur par défaut est 15.

strict

Attribut Boolean facultatif.

Spécifie s'il convient d'activer l'option de compilation strict de Visual Basic.

La valeur par défaut est False.

tempDirectory

Attribut String facultatif.

Spécifie le répertoire à utiliser pour le stockage des fichiers temporaires pendant la compilation.

La valeur par défaut est une chaîne vide ("").

Dans le cas d'une chaîne vide et si le processus actuel a les autorisations d'accès requises, les fichiers sont stockés dans le répertoire %FrameworkInstallLocation%\Temporary ASP.NET Files.

Notez que seuls les processus avec des autorisations de niveau de confiance élevé peuvent accéder au répertoire %FrameworkInstallLocation%\Temporary ASP.NET Files.

urlLinePragmas

Attribut Boolean facultatif.

Spécifie si le compilateur doit utiliser des URL plutôt que des chemins d'accès physiques.

La valeur par défaut est False.

Éléments enfants

Élément

Description

assemblies

Définit une collection de noms d'assemblys qui sont utilisés pendant la compilation d'une ressource ASP.NET.

buildproviders

Définit une collection des fournisseurs de générations qui sont utilisés pour compiler des fichiers de ressources personnalisés.

Cet élément est une nouveauté du .NET Framework version 2.0.

codeSubDirectories

Définit une collection ordonnée des sous-répertoires contenant les fichiers compilés au moment de l'exécution.

Cet élément est une nouveauté du .NET Framework version 2.0.

compilers

Définit une collection d'options du compilateur.

Remarque :

Dans le .NET Framework version 2.0, cet élément est désapprouvé en faveur de l'élément compilers de la section system.codeDom. Toutefois, l'utilisation de l'élément enfant compilers de l'élément compilation est encore valide et substitue l'élément compilers situé dans la section system.codedom.

expressionBuilders

Définit une collection de chaînes de ressources à utiliser au cours de la compilation. Les chaînes de ressources associent des préfixes à des générateurs d'expressions.

Cet élément est une nouveauté du .NET Framework version 2.0.

Éléments parents

Élément

Description

configuration

Spécifie l'élément racine requis dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.

system.web

Spécifie l'élément racine des paramètres de configuration ASP.NET dans un fichier de configuration et contient des éléments de configuration qui configurent le comportement des applications Web ASP.NET.

Notes

L'élément compilation configure tous les paramètres de compilation qu'ASP.NET utilise pour compiler des applications.

Dans le .NET Framework version 2.0, l'élément enfant compilers de l'élément compilation est désapprouvé en faveur de l'élément compilers de la section system.codeDom. Toutefois, l'utilisation de l'élément enfant compilers de l'élément compilation est encore valide et substitue l'élément compilers situé dans la section system.codedom.

Configuration par défaut

L'élément compilation par défaut suivant n'est pas configuré explicitement dans le fichier Machine.config ou dans le fichier Web.config racine. Toutefois, il s'agit de la configuration par défaut retournée par l'application. Les éléments sont ajoutés aux collections assemblies, buildProviders et expressionBuilders dans le fichier Web.config racine.

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

L'élément compilation par défaut suivant est configuré dans le fichier Machine.config de la version 1.1 du .NET Framework. La version 1.0 du .NET Framework propose des paramètres similaires à l'exception des numéros de version.

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

Exemple

L'exemple de code suivant montre comment configurer des paramètres de compilation pour une application.

<configuration>
   <system.web>
      <compilation defaultLanguage="VB"
         debug="true"
         numRecompilesBeforeAppRestart="15">
         <compilers>
            <compiler 
               language="VB;VBScript"
               extension=".cls"
               type="Microsoft.VisualBasic.VBCodeProvider,system,     
                     Version=1.0.5000.0, Culture=neutral, 
                     PublicKeyToken=b77a5c561934e089"/>
            <compiler 
               language="C#;Csharp"
               extension=".cs"
               type="Microsoft.CSharp.CSharpCodeProvider,system, 
                     Version=1.0.5000.0,  Culture=neutral, 
                     PublicKeyToken=b77a5c561934e089"/>
         </compilers>
         <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>

Informations sur les éléments

Gestionnaire de section de configuration

CompilationSection

Membre de configuration

Compilation

Emplacements configurables

Machine.config

Web.config racine

Web.config au niveau de l'application

Web.config de niveau répertoire virtuel ou physique

Configuration requise

Microsoft Internet Information Services (IIS) 5.0, 5.1 ou 6.0

.NET Framework 1.0, 1.1, 2.0

Visual Studio 2003, ou Visual Studio 2005

Voir aussi

Tâches

Comment : configurer des répertoires spécifiques à l'aide des paramètres d'emplacement

Comment : verrouiller des paramètres de configuration ASP.NET

Concepts

Vue d'ensemble de la compilation ASP.NET

Vue d'ensemble de la syntaxe des pages Web ASP.NET

Hiérarchie du fichier de configuration ASP.NET et héritage

Sécurisation de la configuration ASP.NET

Scénarios de configuration ASP.NET

Référence

system.web, élément (Schéma des paramètres ASP.NET)

assemblies, élément de compilation (Schéma des paramètres ASP.NET)

buildProviders, élément de compilation (Schéma des paramètres ASP.NET)

codeSubDirectories, élément de compilation (Schéma des paramètres ASP.NET)

compilers, élément de compilation (Schéma des paramètres ASP.NET)

expressionBuilders, élément de compilation (Schéma des paramètres ASP.NET)

configuration, élément (Schéma des paramètres généraux)

System.Configuration

System.Web.Configuration

CompilationSection

Compilation

Autres ressources

Paramètres généraux de configuration (ASP.NET)

Paramètres de configuration ASP.NET

Administration de sites Web ASP.NET

Fichiers de configuration ASP.NET

API de configuration ASP.NET