<compiler> Element

Spécifie les attributs de configuration du compilateur pour un fournisseur de langage.

<configuration>
  <system.codedom>
    <compilers>
      <compiler>

Syntaxe

<compiler
  language="languageName[;...;...]"
  extension="fileExtension[;...;...]"
  type="typeName, assemblyName"
  warningLevel="number"
  compilerOptions="option1 option2"
/>

Attributs et éléments

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

Attributs

Attribut Description
compilerOptions Attribut facultatif.

Spécifie des arguments supplémentaires spécifiques au compilateur pour la compilation. Les valeurs de l’attribut compilerOptions sont généralement répertoriées dans une rubrique d’options du compilateur pour le compilateur.
extension Attribut requis.

Fournit une liste séparée par des points-virgules des extensions de nom de fichier utilisées par les fichiers sources pour le fournisseur de langage. Par exemple, « .cs ».
language Attribut requis.

Fournit une liste séparée par des points-virgules des noms de langue pris en charge par le fournisseur de langues. Par exemple, « C#;cs;csharp ».
type Attribut requis.

Spécifie le nom complet du type du fournisseur de langage, avec le nom de l’assembly qui contient l’implémentation du fournisseur. Le nom du type doit répondre aux exigences définies dans Spécifier les noms de types complets.
warningLevel Attribut facultatif.

Spécifie le niveau d’avertissement du compilateur par défaut, détermine le niveau auquel le fournisseur de langage traite les avertissements de compilation comme des erreurs.

Éléments enfants

Élément Description
<providerOption> Element Spécifie les attributs de version du compilateur pour un fournisseur de langage.

Éléments parents

Élément Description
<configuration> Element Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.
<system.codedom> Element Spécifie les paramètres de configuration du compilateur pour les fournisseurs de langages disponibles.
<compilers> Element Conteneur des éléments de configuration du compilateur ; contient zéro ou plusieurs éléments <compiler>.

Notes

Chaque élément <compiler> spécifie les attributs de configuration du compilateur pour un fournisseur de langage spécifique. Le fournisseur étend la classe System.CodeDom.Compiler.CodeDomProvider pour une langue spécifique. L’élément <compiler> définit les paramètres du compilateur et du générateur de code pour le fournisseur de langage.

Le .NET Framework définit les paramètres de compilateur initiaux dans le fichier de configuration de l’ordinateur (Machine.config). Les développeurs et les éditeurs de compilateurs peuvent ajouter des paramètres de configuration pour une nouvelle implémentation CodeDomProvider. Utilisez la méthode CodeDomProvider.GetAllCompilerInfo pour énumérer par programmation les paramètres de configuration du compilateur et du fournisseur de langage sur un ordinateur.

Les éléments du compilateur dans l’application ou le fichier de configuration web peuvent compléter ou remplacer les paramètres dans le fichier de configuration de l’ordinateur. Si plusieurs implémentations de fournisseur sont configurées pour le même nom de langue ou la même extension de fichier, la dernière configuration correspondante remplace tous les fournisseurs configurés précédents pour ce nom de langue ou l’extension de fichier.

Fichier de configuration

Cet élément peut être défini dans le fichier de configuration de l’application ou dans le fichier de configuration de l’ordinateur.

Exemple

L’exemple suivant illustre un élément de configuration du compilateur classique :

<configuration>
  <system.codedom>
    <compilers>
      <!-- zero or more compiler elements -->
      <compiler
        language="c#;cs;csharp"
        extension=".cs"
        type="Microsoft.CSharp.CSharpCodeProvider, System,
          Version=2.0.3600.0, Culture=neutral,
          PublicKeyToken=b77a5c561934e089"
        compilerOptions="/optimize"
        warningLevel="1" />
    </compilers>
  </system.codedom>
</configuration>

Voir aussi