Configuration des applications à l'aide de fichiers de configurationConfiguring Apps by using Configuration Files

Le .NET Framework, par le biais de fichiers de configuration, permet aux développeurs et administrateurs de contrôler la façon dont les applications s'exécutent avec la souplesse requise.The .NET Framework, through configuration files, gives developers and administrators control and flexibility over the way applications run. Les fichiers de configuration sont des fichiers XML qui peuvent être modifiés selon les besoins.Configuration files are XML files that can be changed as needed. 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.An administrator can control which protected resources an application can access, which versions of assemblies an application will use, and where remote applications and objects are located. 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.Developers can put settings in configuration files, eliminating the need to recompile an application every time a setting changes. 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.This section describes what can be configured and why configuring an application might be useful.

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.Managed code can use the classes in the System.Configuration namespace to read settings from the configuration files, but not to write settings to those files.

Cette rubrique 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é.This topic describes the syntax of configuration files and provides information about the three types of configuration files: machine, application, and security.

Format des fichiers de configurationConfiguration File Format

Les fichiers de configuration contiennent des éléments qui sont des structures de données logiques qui définissent des informations de configuration.Configuration files contain elements, which are logical data structures that set configuration information. Dans un fichier de configuration, vous utilisez des balises pour indiquer le début et la fin d'un élément.Within a configuration file, you use tags to mark the beginning and end of an element. Par exemple, l’élément <runtime> se compose d’<runtime>éléments enfants</runtime>.For example, the <runtime> element consists of <runtime>child elements</runtime>. Un élément vide s’écrirait ainsi : <runtime/> ou <runtime></runtime>.An empty element would be written as <runtime/> or <runtime></runtime>.

Comme avec tous les fichiers XML, la syntaxe des fichiers de configuration respecte la casse.As with all XML files, the syntax in configuration files is case-sensitive.

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.You specify configuration settings using predefined attributes, which are name/value pairs inside an element's start tag. 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).The following example specifies two attributes (version and href) for the <codeBase> element, which specifies where the runtime can locate an assembly (for more information, see Specifying an Assembly's Location).

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

Fichiers de configuration machineMachine Configuration Files

Le fichier de configuration machine, Machine.config, contient des paramètres qui s'appliquent à l'ordinateur tout entier.The machine configuration file, Machine.config, contains settings that apply to an entire computer. Ce fichier se trouve dans le répertoire %chemin d'installation du runtime%\Config.This file is located in the %runtime install path%\Config directory. Machine.config contient les paramètres de configuration d’une liaison d’assembly à l’échelle de l’ordinateur, de canaux de communication à distance intégrés et d’ASP.NET.Machine.config contains configuration settings for machine-wide assembly binding, built-in remoting channels, and ASP.NET.

Le système de configuration recherche d’abord l’élément <appSettings> et les autres sections de configuration éventuellement définies par un développeur dans le fichier de configuration machine.The configuration system first looks in the machine configuration file for the <appSettings> element and other configuration sections that a developer might define. Ensuite, il cherche ensuite dans le fichier de configuration de l'application.It then looks in the application configuration file. 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.To keep the machine configuration file manageable, it is best to put these settings in the application configuration file. Cependant, le fait de placer les paramètres dans le fichier de configuration machine peut rendre votre système plus facile à entretenir.However, putting the settings in the machine configuration file can make your system more maintainable. 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.For example, if you have a third-party component that both your client and server application uses, it is easier to put the settings for that component in one place. 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.In this case, the machine configuration file is the appropriate place for the settings, so you don't have the same settings in two different files.

Notes

Le déploiement d'une application utilisant XCOPY ne copiera pas les paramètres dans le fichier de configuration machine.Deploying an application using XCOPY will not copy the settings in the machine configuration file.

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.For more information about how the common language runtime uses the machine configuration file for assembly binding, see How the Runtime Locates Assemblies.

Fichiers de configuration des applicationsApplication Configuration Files

Un fichier de configuration d'application contient les paramètres spécifiques à une application.An application configuration file contains settings that are specific to an app. 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.This file includes configuration settings that the common language runtime reads (such as assembly binding policy, remoting objects, and so on), and settings that the app can read.

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 :The name and location of the application configuration file depend on the app's host, which can be one of the following:

  • Application hébergée par l'exécutable.Executable–hosted app.

    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.These apps have two configuration files: a source configuration file, which is modified by the developer during development, and an output file that is distributed with the app.

    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.When you develop in Visual Studio, place the source configuration file for your app in the project directory and set its Copy To Output Directory property to Copy always or Copy if newer. Le nom du fichier de configuration est le nom de l'application assorti d'une extension .config.The name of the configuration file is the name of the app with a .config extension. Par exemple, une application nommée myApp.exe doit avoir un fichier de configuration source appelé myApp.exe.config.For example, an app called myApp.exe should have a source configuration file called myApp.exe.config.

    Visual Studio copie automatiquement le fichier de configuration source dans le répertoire où se trouve l'assembly compilé pour créer le fichier de configuration de sortie, qui est déployé avec l'application.Visual Studio automatically copies the source configuration file to the directory where the compiled assembly is placed to create the output configuration file, which is deployed with the app. 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.In some cases, Visual Studio may modify the output configuration file; for more information, see the Redirecting assembly versions at the app level section of the Redirecting Assembly Versions article.

  • Application hébergée par ASP.NET.ASP.NET-hosted app.

    Pour plus d’informations sur les fichiers de configuration ASP.NET, consultez paramètres de configuration de ASP.net.For more information about ASP.NET configuration files, see ASP.NET Configuration Settings.

  • Application hébergée par Internet Explorer.Internet Explorer-hosted app.

    Si une application hébergée dans Internet Explorer possède un fichier de configuration, l'emplacement de ce fichier est spécifié dans une balise <link> dont la syntaxe est la suivante :If an app hosted in Internet Explorer has a configuration file, the location of this file is specified in a <link> tag with the following syntax:

    <link rel="ConfigurationFileName" href="location"><link rel="ConfigurationFileName" href="location">

    Dans cette balise, location représente une URL vers le fichier de configuration.In this tag, location is a URL to the configuration file. Ceci définit la base de l'application.This sets the app base. Le fichier de configuration doit être situé sur le même site web que l'application.The configuration file must be located on the same website as the app.

Fichiers de configuration de sécuritéSecurity Configuration Files

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.Security configuration files contain information about the code group hierarchy and permission sets associated with a policy level. 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é.We strongly recommend that you use the Code Access Security Policy tool (Caspol.exe) to modify security policy to ensure that policy changes do not corrupt the security configuration files.

Notes

À partir du .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.Starting with the .NET Framework 4, the security configuration files are present only if security policy has been changed.

Les fichiers de configuration de sécurité se trouvent dans les emplacements suivants :The security configuration files are in the following locations:

  • Fichier de configuration de la stratégie d’entreprise : %chemin d’installation du runtime%\Config\Enterprisesec.configEnterprise policy configuration file: %runtime-install-path%\Config\Enterprisesec.config

  • Fichier de configuration de la stratégie de l’ordinateur : %chemin d’installation du runtime%\Config\Security.configMachine policy configuration file: %runtime-install-path%\Config\Security.config

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

Dans cette sectionIn This Section

Guide pratique pour Localiser des assemblys à l’aide de DEVPATHHow to: Locate Assemblies by Using DEVPATH
Explique comment demander au runtime d'utiliser la variable d'environnement DEVPATH pour rechercher les assemblys.Describes how to direct the runtime to use the DEVPATH environment variable when searching for assemblies.

Redirection des versions d'assemblysRedirecting Assembly Versions
Explique comment spécifier l'emplacement d'un assembly et la version d'un assembly à utiliser.Describes how to specify the location of an assembly and which version of an assembly to use.

Spécification de l'emplacement d'un assemblySpecifying an Assembly's Location
Explique comment spécifier l'endroit où le runtime doit rechercher un assembly.Describes how to specify where the runtime should search for an assembly.

Configuration des classes de chiffrementConfiguring Cryptography Classes
Décrit la manière d'associer un nom d'algorithme à une classe de chiffrement et un identificateur d'objet à un algorithme de chiffrement.Describes how to map an algorithm name to a cryptography class and an object identifier to a cryptography algorithm.

Guide pratique : Créer une stratégie d’éditeurHow to: Create a Publisher Policy
Explique quand et comment ajouter un fichier de stratégie de l'éditeur pour spécifier la redirection de l'assembly et les paramètres de base du code.Describes when and how you should add a publisher policy file to specify assembly redirection and code base settings.

Schéma des fichiers de configurationConfiguration File Schema
Décrit la hiérarchie du schéma pour les paramètres de démarrage, de runtime et de réseau, ainsi que pour d'autres types de paramètres de configuration.Describes the schema hierarchy for startup, runtime, network, and other types of configuration settings.

Voir aussiSee also