Utilisation d’assemblys côte à côte en tant que ressource

Vous pouvez ajouter un manifeste à une application en tant que ressource dans le fichier d’en-tête exécutable binaire de l’application. La valeur du MANIFEST_RESOURCE_ID détermine comment les dépendances d’assembly côte à côte décrites dans le manifeste sont utilisées par le chargeur.

Si vous définissez le MANIFEST_RESOURCE_ID sur 1, le chargeur utilise les dépendances d’assembly côte à côte spécifiées dans le manifeste comme valeur par défaut du processus. Tous les plug-ins utilisent également ce processus par défaut.

Le tableau suivant récapitule la façon dont le chargeur utilise le manifeste pour différentes valeurs de MANIFEST_RESOURCE_ID lorsque l’application est compilée avec l’indicateur -DISOLATION_AWARE_ENABLED. Notez que les valeurs 1 à 16 sont réservées pour une utilisation par Windows XP. Un développeur peut utiliser d’autres valeurs s’il souhaite gérer les contextes d’activation à l’aide des fonctions décrites dans la référence du contexte d’activation.

Valeur de MANIFEST_RESOURCE_ID Le manifeste spécifie la valeur par défaut du processus ? Utiliser pour les importations statiques ? Utiliser pour un EXE ? Utiliser pour une DLL ? Utilise la version côte à côte des assemblys si elle est compilée avec -DISOLATION_AWARE_ENABLED ?
1 Oui Oui Oui Non Oui
2 Non Oui Oui Oui Oui
3 Non Non Oui Oui Oui

 

MANIFEST_RESOURCE_ID 1 doit être utilisé pour les applications qui n’hébergent pas de plug-ins. Utilisez MANIFEST_RESOURCE_ID 1 lorsque toutes les parties de l’application doivent utiliser la version de l’assembly côte à côte spécifié dans le manifeste. Pour plus d’informations, consultez Activation d’un assembly dans une application sans extensions.

MANIFEST_RESOURCE_ID 2 doit être utilisé pour les applications qui hébergent des contrôles tiers ou des plug-ins. Dans ce cas, le manifeste affecte tous les assemblys côte à côte chargés par le chargement statique, les appels à DllMain et les appels redirigés par -DISOLATION_AWARE_ENABLED. Pour plus d’informations, consultez Activation d’un assembly dans une application hébergeant une DLL, une extension ou Panneau de configuration.

MANIFEST_RESOURCE_ID 3 doit être utilisé pour rediriger les appels par -DISOLATION_AWARE_ENABLED uniquement. Le chargement par d’autres méthodes n’est pas affecté.