Vue d'ensemble de l'unification des assemblys .NET Framework

Mise à jour : novembre 2007

Le .NET Framework se compose d'une version du Common Language Runtime et d'environ deux douzaines d'assemblys .NET Framework qui composent la bibliothèque de types. Ces assemblys .NET Framework sont traités par le runtime en tant que bloc unique. Par exemple, la version 1.0 du .NET Framework se compose de la version 1.0.3705 du runtime et des assemblys .NET Framework version 1.0.3300.0. Une application ou un composant qui prend en charge une version spécifique du .NET Framework fonctionne avec la version commercialisée du runtime et la version commercialisée des assemblys .NET Framework.

Par défaut, le runtime charge uniquement les assemblys .NET Framework qui appartiennent à la version du runtime chargée dans un processus. Lors du lancement d'une application, toutes les références à des types dans le code exécuté par le runtime sont dirigées vers les assemblys .NET Framework dont le numéro de version est identique au runtime chargé dans un processus. Cette unification des assemblys .NET Framework empêche le runtime de charger des assemblys de versions différentes du .NET Framework sauf si le runtime reçoit l'instruction spécifique de le faire.

Unification d'assemblys et composants

L'application détermine la version du runtime qu'elle utilise. Le processus d'unification comprend tous les composants qu'une application peut utiliser. Une application peut rediriger un composant qu'elle utilise afin de l'exécuter avec une version particulière du runtime. Les composants compilés à l'aide d'une version du runtime peuvent être redirigés pour utiliser une autre version.

Dans l'illustration suivante, l'application MyApp utilise deux composants, Comp A et Comp B. MyApp et Comp A ont été créés à l'aide de la version 1.0 du runtime ; ils contiennent donc des références statiques à la version 1.0 du runtime. Le composant Comp B contient une référence statique à un assembly .NET Framework fourni avec la version 1.1 du runtime. Cependant, en raison de l'unification, ce composant est redirigé pour s'exécuter à l'aide de l'assembly .NET Framework fourni avec la version 1.0 du runtime.

L'unification d'assemblys peut rediriger la liaison d'assembly

Unifier

Des applications peuvent substituer ce comportement par défaut en fournissant des informations de redirection de liaison dans le fichier de configuration de l'application pour n'importe quel assembly. Ces substitutions redirigent le runtime pour qu'il utilise une version spécifique d'un assembly .NET Framework sans affecter la manière dont les autres assemblys .NET Framework sont chargés. Pour plus d'informations, consultez Redirection de liaison d'assembly.

Remarque :

Les assemblys .NET Framework version 1.0 ne sont pas unifiés. La seule façon d'indiquer au runtime d'utiliser un assembly .NET Framework qui n'est pas version 1.0 est de créer un fichier de configuration qui contient l'attribut appliesTo dans l'élément <assemblyBinding>. Pour plus d'informations sur la redirection des assemblys .NET Framework version 1.0, consultez Ciblage d'une version du .NET Framework.

Voir aussi

Concepts

Détermination de la version du runtime à charger

Redirection de liaison d'assembly

Autres ressources

Notions de base de l'exécution côte à côte