Configuration d'une application COM pour une exécution côte à côte
Le fichier de configuration d'une application permet à une application COM d'établir une liaison à un composant managé spécifique et de spécifier la version du runtime qui doit exécuter le composant. Les développeurs d'applications COM peuvent créer un fichier de configuration d'application .NET Framework et le déployer avec leurs applications.
Comportement de chargement par défaut
Si une application non managée ne possède pas de fichier de configuration d'application, la version du runtime utilisée pour charger le composant est déterminée comme suit :
Si le composant a été créé avec le .NET Framework version 4 ou version ultérieure, il est chargé avec le runtime qui a été utilisé pour sa création.
Si le composant a été créé avec une version antérieure du .NET Framework, il est chargé avec la version antérieure à la version 4 la plus récente du runtime installée sur l'ordinateur. Par exemple, si un composant a été créé avec le .NET Framework version 1.1 et si trois versions du .NET Framework ( .NET Framework 1.1, .NET Framework 3.5 SP1 et .NET Framework 4) sont installées sur l'ordinateur, le composant est chargé avec le .NET Framework 3.5 SP1. Il s'agissait du comportement par défaut avant le .NET Framework 4.
Ce comportement de chargement affecte les composants chargés côte à côte dans le même processus. Le runtime pour le .NET Framework 4 peut s'exécuter in-process avec un runtime d'une version antérieure du .NET Framework. Consultez Exécution côte à côte in-process.
Spécification de la version du runtime
Si le comportement de chargement par défaut ne répond pas aux conditions requises par votre application COM, vous pouvez utiliser l'élément <supportedRuntime> pour indiquer, dans le fichier de configuration de l'application, la version spécifique du runtime exigée. Par exemple, vous pouvez spécifier la version 1.1.4322 du runtime, qui charge le .NET Framework version 1.1. Pour obtenir des instructions, consultez Ciblage d'une version du .NET Framework.
Remarque |
---|
Les applications COM hébergées par un hôte extensible, telles que Microsoft Internet Explorer ou Microsoft Office, ne peuvent pas contrôler quelle version du runtime est chargée. |
Si certains de vos composants ont été créés à la fois avec le .NET Framework 4 et une version antérieure du .NET Framework, vous devez répertorier les deux versions comme runtime pris en charge, car le comportement de chargement par défaut n'utilise pas le .NET Framework 4 pour charger le composant antérieur. Pour forcer le chargement du composant antérieur avec le .NET Framework 4, affectez à l'attribut useLegacyV2RuntimeActivationPolicy la valeur true dans l'élément <startup> de votre fichier de configuration. Cela rétablit le comportement de chargement par défaut antérieur au .NET Framework 4, qui consiste à utiliser la version du .NET Framework prise en charge la plus récente.
Spécification d'une version d'assembly
En l'absence d'un fichier de configuration d'application, le runtime charge la dernière version de l'assembly inscrite dans le Registre Windows qui contient le type à activer à partir de COM. Vous pouvez utiliser l'élément <bindingRedirect> dans le fichier de configuration de l'application pour que celle-ci soit liée à une version d'assembly antérieure. Pour obtenir des instructions, consultez Redirection de versions d'assembly.
Vous pouvez rediriger plusieurs versions d'assembly en incluant plusieurs éléments <bindingRedirect> dans un élément <dependentAssembly>.
Voir aussi
Référence
Concepts
Initialisation du runtime à partir d'une application COM
Clés de Registre dépendantes de la version
Application d'attributs dépendants de la version
Composants COM et exécution côte à côte
Redirection des versions d'assemblys