2009-09-15 5 views
1

Supposons que j'ai libéré une application qui utilise un assembly qui est dans le GAC.Comment obtenez-vous une version différente de GAC?

À une date ultérieure, j'ai une nouvelle version de l'assemblage. Est-ce que je supprime la version originale et installe la nouvelle ou dois-je installer le nouveau et assurez-vous que l'application le référence (via les numéros de version ??).

Et si je veux que les anciennes versions de l'application utilisent la version avec laquelle elles ont été installées, alors que la nouvelle version de l'application devrait utiliser le nouvel assemblage?

Répondre

1

Vous pouvez utiliser un éditeur binding policy pour spécifier la plage de versions que votre application est autorisée à utiliser. Vous pouvez mettre à jour la stratégie avec chaque nouvelle version. Ne désinstallez pas les anciennes versions (sauf si elles sont très mauvaises).

4

Si vous avez un assemblage dans le GAC et que vous en libérez un autre avec des numéros de version différents, vous devez également stocker celui-ci dans le GAC. L'une des fonctions principales du GAC est de permettre à différentes versions du même assembly d'exister dans un emplacement global.

Tous vos projets doivent référencer l'assemblage avec la version appropriée et le CLR prendra soin de charger le bon pour vous.

+0

Donc, il n'y a pas de concept de "si je ne trouve pas la version que je cherchais, obtenir la prochaine version la plus élevée"? –

+1

JD: Non, sans politique, il chargera uniquement avec exactement le même assemblage. –

+0

Henk: Comme JaredPar et vous avez expliqué, la version exacte est chargée. Je présente maintenant une nouvelle version de la bibliothèque, mettez-la dans le GAC. Si je veux que mes clients existants l'utilisent, j'ai besoin d'un fichier de politique? Comment puis-je faire cela? Cela signifie-t-il que tous mes clients devront être changés? –

Questions connexes