Partager via


Configuration de la liaison d’assembly

Remarque

Cet article est spécifique à .NET Framework. Elle ne s’applique pas aux implémentations plus récentes de .NET, notamment .NET 6 et versions ultérieures.

Par défaut, les applications utilisent l’ensemble d’assemblys .NET Framework fournis avec la version du runtime utilisée pour compiler l’application. Vous pouvez utiliser l’attribut appliesTo sur l’élément <assemblyBinding> dans un fichier de configuration d’application pour rediriger les références de liaison d’assembly vers une version spécifique des assemblys .NET Framework. Cet attribut facultatif utilise un numéro de version .NET Framework pour indiquer la version à laquelle elle s’applique. Si aucun attribut appliesTo n’est spécifié, l’élément <assemblyBinding> s’applique à toutes les versions du .NET Framework.

L’attribut appliesTo a été introduit dans .NET Framework version 1.1 ; elle est ignorée par .NET Framework version 1.0. Cela signifie que tous les éléments <assemblyBinding> sont appliqués avec l’utilisation de .NET Framework version 1.0, même si un attribut appliesTo est spécifié.

Remarque

Utilisez l’attribut appliesTo pour limiter la redirection de liaison d’assembly vers une version spécifique du runtime.

Par exemple, pour rediriger la liaison d’assembly pour un assembly du .NET Framework 1.0, vous devez inclure le code XML suivant dans votre fichier de configuration de l’application.

<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
            <dependentAssembly>
               * assembly information goes here *
            </dependentAssembly>
       </assemblyBinding>
</runtime>

Les éléments <assemblyBinding> prennent en compte l’ordre. Ainsi, vous devez d’abord entrer les informations de redirection des liaisons des assemblys du .NET Framework 1.0, puis celles des assemblys du .NET Framework 1.1. Enfin, vous devez entrer les informations de redirection des liaisons d'assembly pour toutes les redirections d'assembly du .NET Framework qui n'utilisent pas d'attribut appliesTo et qui s'appliquent donc à toutes les versions du .NET Framework. En cas de conflit dans la redirection, la première instruction de redirection correspondante dans le fichier de configuration est utilisée.

Par exemple, pour rediriger une référence vers un assembly .NET Framework version 1.0 et une autre référence à un assembly .NET Framework version 1.1, vous utiliserez le modèle indiqué dans le pseudocode suivant.

<assemblyBinding xmlns="..." appliesTo="v1.0.3705">
  <!-- .NET Framework version 1.0 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="..." appliesTo="v1.1.4322">
  <!-- .NET Framework version 1.1 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="...">
  <!-- Redirects meant for all versions of the .NET Framework. -->
</assemblyBinding>

Débogage des erreurs de fichier de configuration

Le runtime analyse les fichiers de configuration une fois lorsqu’un domaine d’application est créé et charge du code dans ce domaine d’application. Le Common Language Runtime gère les erreurs dans un fichier de configuration en ignorant l’entrée. Le runtime ignore l’intégralité du fichier de configuration s’il contient du code XML incorrect. Pour le code XML non valide, seules les sections non valides sont ignorées.

Vous pouvez déterminer si un fichier de configuration est actuellement utilisé en vérifiant si des redirections de liaison d’assembly ont lieu. Utilisez la Visionneuse du journal de liaison d’assembly (Fuslogvw.exe) pour voir quels assemblys sont chargés. Pour afficher toutes les liaisons d’assembly, vous devez définir une entrée pour ForceLog dans le Registre.

Voir aussi