Configurer des applications en utilisant des fichiers de configuration

Le .NET Framework donne aux développeurs et aux administrateurs contrôle et souplesse dans la façon dont les applications s’exécutent, par le biais de fichiers de configuration. Les fichiers de configuration sont des fichiers XML qui peuvent être modifiés selon les besoins. Un administrateur peut exercer un contrôle sur les ressources protégées auxquelles une application peut accéder, les versions d'assemblys utilisées par une application et l'endroit où sont situés les applications et objets distants. Les développeurs peuvent stocker des paramètres dans des fichiers de configuration, de façon à ce qu'il ne leur soit pas nécessaire de recompiler une application chaque fois qu'un paramètre change. Cette section décrit les éléments qui peuvent être configurés et explique en quoi la configuration d'une application peut se révéler utile.

Notes

Le code managé peut utiliser les classes de l'espace de noms System.Configuration pour lire les paramètres des fichiers de configuration, mais non pour écrire les paramètres dans ces fichiers.

Cet article décrit la syntaxe des fichiers de configuration et fournit des informations sur les trois types de fichiers de configuration : ordinateur, application et sécurité.

Format du fichier de configuration

Les fichiers de configuration contiennent des éléments qui sont des structures de données logiques qui définissent des informations de configuration. Dans un fichier de configuration, vous utilisez des balises pour indiquer le début et la fin d'un élément. Par exemple, l’élément <runtime> se compose d’<runtime>éléments enfants</runtime>. Un élément vide s’écrirait ainsi : <runtime/> ou <runtime></runtime>.

Comme avec tous les fichiers XML, la syntaxe des fichiers de configuration respecte la casse.

Vous spécifiez des paramètres de configuration à l’aide d’attributs prédéfinis qui sont des paires nom/valeur contenus dans l’étiquette de début d’un élément. L’exemple suivant spécifie deux attributs (version et href pour l’élément <codeBase>, qui indiquent là où le runtime peut localiser un assembly (pour plus d’informations, consultez Spécification de l’emplacement d’un assembly).

<codeBase version="2.0.0.0"  
          href="http://www.litwareinc.com/myAssembly.dll"/>  

Fichiers de configuration d’ordinateur

Le fichier de configuration d’ordinateur, Machine.config, contient des paramètres qui s’appliquent à l’ordinateur tout entier. Ce fichier se trouve dans le répertoire %chemin d'installation du runtime%\Config. Machine.config contient les paramètres de configuration pour la liaison d’assembly à l’échelle de l’ordinateur, les canaux de communication à distance intégrés et ASP.NET.

Le système de configuration recherche d’abord dans le fichier de configuration d’ordinateur l’élément <appSettings> et les autres sections de configuration qu’un développeur est susceptible de définir. Ensuite, il cherche ensuite dans le fichier de configuration de l'application. Pour que le fichier de configuration machine reste gérable, il est préférable de placer ces paramètres dans le fichier de configuration de l'application. Cependant, le fait de placer les paramètres dans le fichier de configuration machine peut rendre votre système plus facile à entretenir. Par exemple, si vous possédez un composant de tiers utilisé à la fois par votre application cliente et serveur, il est plus aisé de placer les paramètres pour ce composant dans un seul emplacement. Dans ce cas, le fichier de configuration machine est l'emplacement le plus approprié pour les paramètres, de manière à éviter d'avoir les mêmes paramètres dans deux fichiers différents.

Notes

Le déploiement d'une application utilisant XCOPY ne copiera pas les paramètres dans le fichier de configuration machine.

Pour plus d’informations sur la façon dont le Common Language Runtime utilise le fichier de configuration machine pour la liaison d’assembly, consultez Méthode de localisation des assemblys par le runtime.

Fichiers de configuration de l’application

Un fichier de configuration d'application contient les paramètres spécifiques à une application. Ce fichier comprend des paramètres de configuration que le Common Language Runtime lit (comme la stratégie de liaison d'assembly, les objets de communication à distance, etc.), et des paramètres que l'application peut lire.

Le nom et l'emplacement du fichier de configuration de l'application dépendent de l'hôte de l'application, qui peut être l'un des hôtes suivants :

  • Application hébergée par l'exécutable.

    Ces applications disposent de deux fichiers de configuration : un fichier de configuration source, modifié par le développeur lors du développement, et un fichier de sortie distribué avec l’application.

    Quand vous êtes en phase de développement dans Visual Studio, placez le fichier de configuration source de votre application dans le répertoire du projet, puis affectez à sa propriété Copier dans le répertoire de sortie la valeur Toujours copier ou Copier si plus récent. Par défaut, le nom du fichier de configuration est App.config.

    Pour créer le fichier de configuration de sortie qui est déployé avec l’application, Visual Studio copie le fichier de configuration source dans le répertoire où se trouve l’assembly compilé. Ce fichier s’appelle <nom_de_votre_application>.exe.config. Par exemple, une application appelée monApp.exe aura un fichier de configuration de sortie avec le nom monApp.exe.config.

    Dans certains cas, Visual Studio peut modifier le fichier de configuration de sortie ; pour plus d'informations, consultez la section Redirection des versions d’assemblys au niveau de l’application dans l’article Redirection des versions d’assemblys.

  • Application hébergée par ASP.NET.

    Pour plus d’informations sur les fichiers de configuration ASP.NET, consultez Paramètres de configuration ASP.NET.

  • Application hébergée par Internet Explorer.

    Si une application hébergée dans Internet Explorer a un fichier de configuration, l’emplacement de ce fichier est spécifié dans une balise <link> dont la syntaxe est la suivante : <link rel="*ConfigurationFileName*" href="*location*">

    Dans cette balise, location représente une URL vers le fichier de configuration. Ceci définit la base de l'application. Le fichier de configuration doit être situé sur le même site web que l'application.

Fichiers de configuration de sécurité

Les fichiers de configuration de sécurité contiennent des informations sur la hiérarchie du groupe de codes et des jeux d'autorisations associée à un niveau de stratégie. Nous vous recommandons vivement d’utiliser l’outil Stratégie de sécurité d’accès du code (Caspol.exe) pour modifier la stratégie de sécurité et éviter que les modifications de stratégie corrompent les fichiers de configuration de sécurité.

Notes

À partir de .NET Framework 4, les fichiers de configuration de sécurité sont présents uniquement si la stratégie de sécurité a été modifiée.

Les fichiers de configuration de sécurité se trouvent dans les emplacements suivants :

  • Fichier de configuration de la stratégie d’entreprise : %chemin d’installation du runtime%\Config\Enterprisesec.config

  • Fichier de configuration de la stratégie de l’ordinateur : %chemin d’installation du runtime%\Config\Security.config

  • Fichier de configuration de la stratégie de l’utilisateur : %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

Voir aussi