Partager via


Versioning des noms forts

Basée sur le code dans le répertoire 4_Shared, cette étape utilise le code du répertoire 5_Versioned pour créer deux versions distinctes du composant partageable et utilise des options de configuration d'application pour montrer comment une application peut être rendue exécutable. Une méthode de la version 2.0.1.0 de Reverser.dll a été rendue incompatible avec la même méthode de la version 2.0.0.0 de sorte qu'un Client ayant appelé cette méthode avec succès en utilisant la version 2.0.0.0 ne parvienne pas à l'appeler avec la révision plus récente.

Pour constater comment les clés de version peuvent changer entre deux versions d'un assembly, vous allez générer une nouvelle paire de clés à l'aide de l'outil Strong Name Tool (Sn.exe) et placer les clés dans un fichier :

sn –k orgVerKey.snk

Vous disposez à présent d'une nouvelle clé privée. Vous pouvez maintenant compiler les deux composants de la version 2.0, en spécifiant le fichier de clé et le numéro de version à assigner. Pour cela, vous pouvez à nouveau spécifier les attributs suivants (montrés pour la version 2.0.0.0) :

[assembly: System.Reflection.AssemblyVersion("2.0.0.0")]
[assembly: System.Reflection.AssemblyKeyFile("orgVerKey.snk")]

Si vous exécutez à nouveau Ildasm.exe sur les deux fichiers Reverser.dll mis à jour, vous pouvez vérifier que les assemblys sont partageables, comme indiqué par la présence d'une propriété .publickey différente (car vous avez utilisé une paire de clés différente de la version 1.0.0.0) et d'une propriété .ver mise à jour (2.0.0.0 ou 2.0.1.0, selon celle que vous étudiez) :

.assembly Reverser
{
  .custom instance void 
   ... // orgVerKey.snk
  .publickey = (...}
  .hash algorithm 0x00008004
  .ver 2:0:0:0
}

Voir aussi

Stratégie de liaison | Résumé de l'empaquetage et du déploiement | Annexe A : Informations supplémentaires sur l'empaquetage et le déploiement | Annexe B : Outils d'empaquetage et de déploiement