2010-05-19 5 views

Répondre

0

Il serait utile d'être un peu plus précis que « .wsp » dans votre question.

Comme Flo mentionné - si vous gardez la version de montage identique, mais changer le AssemblyFileVersion alors vous pouvez mettre à jour les ensembles dans votre solution WSP utilisant

STSADM -o upgradesolution ...

Voir ma réponse sur SO - How can I use wildcard assembly versioning?

Cette suffira pour les webparts, mais si vous avez d'autres artefacts et que vous utilisez des choses comme des choses comme des récepteurs d'événements, vous devrez peut-être retract and re-deploy.

-1

WSP ne version pas vraiment.
Vous pouvez toutefois les composants de la version en elle:

  • Feature ou WebParts par des noms différents (FeatureV1, FeatureV2 ...)
  • Assemblée
  • à l'aide de versionnage de montage standard (assemblage WebpartV1 d'utilisation 1.0.0, WebPartV2 utiliser 1.1. 0 et ainsi de suite)
  • ...
+1

Vous devez savoir que si vous changez la version d'assemblage (et non la version du fichier d'assemblage) vous ne serez pas en mesure de remplacer simplement un ensemble de partie Web, vous devrez le retirer de tous les sites et ajoutez-le à nouveau. Si vous laissez la version d'assemblage intacte et changez simplement la version du fichier d'assemblage, vous pouvez éviter ce problème. – Flo

+0

Juste pour clarifier les commentaires de Flo il ne parle pas d'ajouter/supprimer à l'aide de STSADM sa suppression, puis l'ajout et la mise en place d'un composant WebPart sur chaque page Web de chaque page - une vraie douleur! Vous pouvez utiliser AssemblyBindingRedirect mais ce n'est pas non plus l'approche recommandée. – Ryan

0

Merci à tous pour vos réponses. J'ai deux préoccupations:

a. Supposons que mon wsp déploie une partie Web avec la version de l'assembly en tant que version 1.0.0.0 et que la version du fichier d'assembly est également 1.0.0.0. Maintenant, après quelques jours, j'ai besoin de déployer une version récente de webpart. La version d'assemblage sera maintenant 2.0.0.0 et la version du fichier d'assemblage sera 2.0.0.0. J'ai remarqué que même si je rétracte et redéploie le wsp, les fichiers .webpart qui se trouvent dans la galerie de composants Web montrent toujours la version de l'assembly comme 1.0.0.0. Je suppose que c'est parce que wsp retraction ne supprimera pas le fichier .webpart et aucune fonctionnalité de désactivation. La seule option qui reste est d'écrire le code de désactivation des fonctionnalités pour supprimer le fichier .webpart de la galerie webpart. Ce sera en grande partie efficace car je devrai itérer à travers toutes les collections de sites de l'application web déployée pour déterminer à partir du code (un formulaire Windows en tant qu'installateur) la collection de sites où la fonctionnalité est activée et la désactiver.

b. J'ai besoin d'interroger la version webpart dll pour une opération. Je pensais que ce serait bien si nous pouvons version wsp et garder la version wsp même que la partie Web dll. Cela m'aidera à rester dans le contexte SharePoint pour déterminer la version dll de la partie web (plutôt que d'interroger la DLL pour trouver la version).

Merci

+1

re: a) Voir ma réponse et en particulier le lien "Comment puis-je utiliser le versioning de l'assemblage générique", il a tout ce dont vous avez besoin. Vous ne devez pas modifier la version d'assemblage pour des modifications mineures de version (comme par exemple * ALL * SharePoint 2007 versions services packs/cum mises à jour etc sont 12.0.0.0) vous utilisez FileVersion pour cela - alors pas de déblocage avec désactivation etc . nécessaire. – Ryan

+0

Aussi, vous pouvez lire la FAQ (en haut à droite) pour StackOverflow - ce n'est pas un forum de discussion et votre clarification serait mieux adaptée à votre question. – Ryan

Questions connexes