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 processus par défaut. 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 ? | Utilisez-vous pour les importations statiques ? | Vous utilisez pour un EXE ? | Utilisez-vous pour une DLL ? | Utilise la version côte à côte des assemblys s’ils sont compilés 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 ou des plug-ins tiers. 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 un 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é.