Partager via


Étape 1 : examen des fichiers de configuration

Le comportement de liaison des assemblys peut être configuré à différents niveaux à l'aide de trois fichiers XML :

  • le fichier de configuration de l'application ;

  • le fichier de stratégie de l'éditeur ;

  • le fichier de configuration machine.

Ces fichiers partagent la même syntaxe et fournissent des informations telles que des redirections de liaisons, l'emplacement du code et des modes de liaison pour des assemblys particuliers. Chaque fichier de configuration peut contenir des éléments <assemblyIdentity> qui redirigent le processus de liaison. Les éléments enfants de <assemblyIdentity> incluent <assemblyBinding> et ses éléments enfants, y compris les éléments <dependentAssembly>, <bindingRedirect> et <codeBase>.

Notes

Les informations de configuration peuvent se trouver dans les trois fichiers de configuration ; tous les éléments ne sont pas valides dans tous les fichiers de configuration. Par exemple, les informations sur le mode de liaison et le chemin d'accès privé peuvent seulement se trouver dans le fichier de configuration de l'application. Pour obtenir la liste complète des informations contenues dans chaque fichier, consultez Configuration d'Applications.

Fichier de configuration de l'application

Le Common Language Runtime vérifie tout d'abord le fichier de configuration de l'application à la recherche d'informations qui substituent les informations de version stockées dans le manifeste de l'assembly appelant. Le fichier de configuration de l'application peut être déployé avec une application mais il n'est pas requis pour l'exécution de celle-ci. En règle générale, la récupération de ce fichier est quasi instantanée mais, si la base de l'application se trouve sur un ordinateur distant, dans le cas d'une application Web basée sur Internet Explorer par exemple, le fichier de configuration doit être téléchargé.

Pour les fichiers exécutables client, le fichier de configuration de l'application réside dans le même répertoire que le fichier exécutable de l'application et possède le même nom que le fichier exécutable avec une extension .config. Par exemple, le fichier de configuration pour C:\Program Files\Myapp\Myapp.exe est C:\Program Files\Myapp\Myapp.exe.config. Dans le cas d'une application basée sur un navigateur, le fichier HTML doit utiliser l'élément <link> pour pointer explicitement vers le fichier de configuration.

Fichier de stratégie de l'éditeur

Le runtime examine ensuite le fichier de stratégie de l'éditeur si un tel fichier existe. Les fichiers de stratégie de l'éditeur sont distribués par un éditeur de composant sous forme de correctif ou de mise à jour (QFE ou Service Pack) pour un composant partagé. Ces fichiers contiennent des informations de compatibilité émises par l'éditeur du composant partagé qui dirige une référence d'assembly vers une nouvelle version. Contrairement aux fichiers de configuration de l'application et machine, les fichiers de stratégie de l'éditeur sont contenus dans leur propre assembly qui doit être installé dans le Global Assembly Cache.

Notes

La stratégie de l'éditeur affecte toutes les applications qui utilisent un composant partagé.

Le fichier de configuration de la stratégie de l'éditeur substitue les informations de version qui proviennent de l'application (c'est-à-dire en provenance du manifeste d'assembly ou du fichier de configuration de l'application). Si aucune instruction dans le fichier de configuration de l'application ne redirige la version spécifiée dans le manifeste de l'assembly, le fichier de stratégie de l'éditeur substitue la version spécifiée dans le manifeste d'assembly. Cependant, si une instruction de redirection se trouve dans le fichier de configuration de l'application, le fichier de stratégie de l'éditeur substitue cette version et non celle qui est spécifiée dans le manifeste.

Un fichier de stratégie de l'éditeur est utilisé lorsqu'un composant partagé est mis à jour et que la nouvelle version du composant partagé doit être reprise par toutes les applications utilisant ce composant. Les paramètres dans le fichier de stratégie de l'éditeur substituent ceux qui sont dans le fichier de configuration de l'application à moins que ce dernier n'applique le mode sans échec.

Mode sans échec

Les fichiers de stratégie de l'éditeur sont généralement installés explicitement comme faisant partie d'un Service Pack ou d'une mise à jour de programme. En cas de problème avec le composant partagé mis à jour, vous pouvez ignorer les substitutions dans le fichier de stratégie de l'éditeur en utilisant le mode sans échec. Le mode sans échec est déterminé par l'élément <publisherPolicy apply="yes|no"/>, situé uniquement dans le fichier de configuration de l'application. Il spécifie si les informations de configuration du fichier de stratégie de l'éditeur doivent être supprimées du processus de liaison.

Le mode sans échec peut être défini pour toute l'application ou pour des assemblys particuliers. Autrement dit, vous pouvez désactiver la stratégie pour tous les assemblys qui composent votre application ou l'activer pour certains assemblys uniquement. Pour appliquer sélectivement la stratégie de l'éditeur aux assemblys qui composent une application, définissez l'élément <publisherPolicy apply=no/> et spécifiez les assemblys que vous souhaitez affecter en utilisant l'élément <dependentAssembly>. Pour appliquer la stratégie de l'éditeur à tous les assemblys qui composent l'application, définissez l'élément <publisherPolicy apply=no/> sans aucun élément d'assembly dépendant. Pour plus d'informations sur la configuration, consultez Fichiers de configuration des applications.

Fichier de configuration machine

Finalement, le runtime examine le fichier de configuration machine. Ce fichier, intitulé Machine.config, réside sur l'ordinateur local dans le sous-répertoire Config du répertoire racine où le runtime est installé. Ce fichier peut être utilisé par les administrateurs pour spécifier des restrictions de liaison d'assemblys qui sont propres à cet ordinateur. Les paramètres dans le fichier de configuration machine sont prioritaires par rapport aux autres paramètres de configuration ; cependant, cela ne signifie pas que tous les paramètres de configuration doivent être placés dans ce fichier. La version déterminée par le fichier de stratégie de l'administrateur est finale et ne peut pas être substituée. Les substitutions spécifiées dans le fichier Machine.config affectent toutes les applications. Pour plus d'informations sur les fichiers de configuration, consultez Fichiers de configuration.

Voir aussi

Concepts

Méthode de localisation des assemblys par le runtime
Scénarios de déploiement pour les applications .NET Framework
Étape 2 : recherche des assemblys précédemment référencés
Étape 3 : vérification du Global Assembly Cache
Étape 4 : localisation de l'assembly par le biais des codes base ou de la détection
Références d'assembly partielles