Classe System.Resources.SatelliteContractVersionAttribute

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

Dans les applications de bureau, l’attribut SatelliteContractVersionAttribute établit un contrat entre un assembly principal et tous ses satellites. Vous appliquez cet attribut à votre assembly principal et transmettez-le le numéro de version des assemblys satellites qui fonctionneront avec cette version de l’assembly principal. Lorsque le gestionnaire de ressources (ResourceManager objet) recherche des ressources, il charge explicitement la version satellite spécifiée par cet attribut sur l’assembly principal.

Lorsque vous mettez à jour l’assembly principal, vous incrémentez son numéro de version d’assembly. Toutefois, vous ne souhaiterez peut-être pas expédier de nouvelles copies de vos assemblys satellites si les assemblys existants sont compatibles avec votre application. Dans ce cas, incrémentez le numéro de version de l’assembly principal, mais laissez le numéro de version du contrat satellite identique. Resource Manager utilisera vos assemblys satellites existants.

Si vous souhaitez réviser un assembly satellite, mais pas l’assembly principal, incrémentez le numéro de version sur votre satellite. Dans ce cas, envoyez un assembly de stratégie d’éditeur ainsi que votre assembly satellite indiquant que votre nouvel assembly satellite a une compatibilité descendante avec votre ancien assembly satellite. Le gestionnaire de ressources utilise toujours l’ancien numéro de contrat écrit dans votre assembly principal en fonction de l’attribut SatelliteContractVersionAttribute . Toutefois, le chargeur est lié à la version de l’assembly satellite spécifiée par l’assembly de stratégie.

Un fournisseur d’un composant partagé utilise un assembly de stratégie d’éditeur pour effectuer une instruction de compatibilité sur une version particulière d’un assembly publié. Un assembly de stratégie d’éditeur est un assembly fortement nommé qui a un nom au format policy.<major>.<minor>.<ComponentAssemblyName>et qui est inscrit dans le Global Assembly Cache (GAC) . La stratégie d’éditeur est générée à partir d’un fichier de configuration XML (voir l’élément <bindingRedirect>) à l’aide de l’outil Al.exe (Assembly Linker). Assembly Linker est utilisé avec l’option /link permettant de lier le fichier de configuration XML à un assembly manifeste, qui est ensuite stocké dans le Global Assembly Cache. Les assemblys de stratégie d’éditeur peuvent être utilisés lorsqu’un fournisseur envoie une version de maintenance (Service Pack) qui contient des correctifs de bogues.

Applications du Windows 8.x Store

Cet attribut est ignoré dans les applications du Windows 8.x Store, car les fichiers d’index de ressources de package (PRI) n’ont pas de sémantique de contrôle de version. De plus, le modèle d’empaquetage du Windows 8.x Store nécessite que toutes les ressources soient livrées dans le même package, sans possibilité de redéployer des assemblys satellites ou des fichiers PRI.