Redirections de liaison d'assembly : une explication approfondie
Introduction
Les redirections de liaison d'assembly jouent un rôle crucial dans la résolution des conflits de versions entre les assemblys. Cet article examine les mécanismes derrière les redirections de liaison, répond aux requêtes courantes et fournit une compréhension complète de leurs fonctionnalités.
Mécanisme de redirection de liaison
Une redirection de liaison dans la liaison d'assemblage La section du fichier app.config spécifie un mappage entre une ancienne version et une nouvelle version d'un assembly. Lorsque le runtime rencontre l'ancienne version, il redirige automatiquement le chargement vers la nouvelle version.
Spécificité de la version majeure
Les redirections de liaison spécifient généralement uniquement le numéro de version majeure dans le Attributs oldVersion et newVersion. En effet, les numéros de version restants (mineur, build, révision) sont supposés être compatibles. S'il n'est pas explicitement spécifié, le moteur d'exécution tentera de charger la nouvelle version avec les mêmes numéros mineurs, de build et de révision que l'ancienne version.
Modifications de version
Version les modifications ne sont pas limitées aux versions majeures. Les redirections de liaison peuvent être utilisées pour rediriger n’importe quelle plage de versions vers une nouvelle version spécifique. Cependant, si la version majeure est modifiée, toutes les versions suivantes sont également redirigées, tandis que les modifications apportées aux numéros mineurs, de build ou de révision au sein de la même version majeure ne déclenchent pas de redirection.
Exemple
Considérez la redirection de liaison suivante :
Dans cet exemple, assemblys avec un nom de "FooBar" et un jeton de clé publique de "32ab4ba45e0a69a1" sera redirigé de la version 7.0.0.0 vers la version 8.0.0.0 au moment de l'exécution. Tous les numéros mineurs, de build et de révision de la version 7.0.0.0 seront automatiquement redirigés vers leurs homologues correspondants dans la version 8.0.0.0.
Notes supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!