Partager via


Classe System.Resources.SatelliteContractVersionAttribute

Cet article fournit des remarques supplémentaires à la documentation de référence de 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 pas envoyer de nouvelles copies de vos assemblages satellites si les assemblages 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. Le gestionnaire de ressources utilisera vos assemblages satellites existants.

Si vous souhaitez réviser un assemblage satellite, mais pas l’assemblage principal, incrémentez le numéro de version de votre satellite. Dans ce cas, expédiez un assemblage de stratégie d'éditeur avec votre assemblage satellite, indiquant que votre nouvel assemblage satellite est rétrocompatible avec votre ancien assemblage satellite. Le gestionnaire de ressources continuera à utiliser l’ancien numéro de contrat inscrit dans votre assembly principal en fonction de l’attribut SatelliteContractVersionAttribute. Toutefois, le chargeur s'associera à la version de l’assembly satellite indiqué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 politique de l'é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.