Question

J'ai un projet Webpart construit dans Visual Studio 2010 et il a été déployé avec succès dans mon environnement de production.J'ai récemment dû apporter quelques modifications au composant WebPart et j'ai également dû ajouter un nouveau composant WebPart de support au projet (en fonction de la nature des composants WebPart et de leurs relations les uns avec les autres, j'ai pensé qu'il serait logique de conserver les deux dans le même projet et fait donc partie de la même fonctionnalité).

Quoi qu'il en soit, après avoir apporté les modifications, j'ai déployé sur le serveur à l'aide de la commande 'update-spsolution'.Cependant, même si les modifications que j'ai apportées au composant WebPart déjà existant étaient immédiatement visibles sur toutes les pages où le composant WebPart a été déployé, je ne suis pas en mesure de déployer le composant WebPart nouvellement créé qui faisait partie de la fonctionnalité. En fait, je ne l'ai même pas trouvé. dans la galerie de composants WebPart.

Ce n'est qu'après que j'ai supprimé le nouveau composant WebPart du projet existant et créé un tout nouveau projet, un tout nouveau fichier WSP et déployé la nouvelle solution, puis activé la nouvelle fonctionnalité, que j'ai pu déployer le nouveau composant WebPart.

Je me demande s'il y a quelque chose que je fais de mal lors de l'exécution de la commande « update-spsolution » qui fait que mon composant WebPart nouvellement ajouté n'est pas disponible ?

Était-ce utile?

La solution

Vous devrez réactiver la fonctionnalité que vous avez mise à jour.Lors de la réactivation, la partie Web devrait figurer dans la galerie.

Autres conseils

Si vous vouliez le faire de la « bonne » manière, vous auriez dû utiliser la mise à niveau des fonctionnalités.

Ce n'est malheureusement pas simple mais vous donne beaucoup de contrôle sur ce qui se passe lorsque vous déployez une nouvelle version d'une fonctionnalité.

Dans votre cas, cela aurait impliqué :

  • Ajoutez les fichiers elements.xml pour les nouveaux composants WebPart à l'intérieur <ApplyElementManifests> à l'intérieur <UpgradeActions> dans le feature.xml
  • mettre à jour la solution à l'aide update-spsolution comme tu l'as fait
  • mettre à niveau les fonctionnalités (peut être fait en utilisant Kit de mise à niveau des fonctionnalités SharePoint 2010)

Pour plus d'informations sur la mise à niveau des fonctionnalités, consultez la série Chris O'Briens commençant par Mise à niveau des fonctionnalités (partie 1) - principes fondamentaux

Même si cela peut sembler exagéré pour un projet simple, je pense toujours que c'est la bonne chose à faire pour les raisons suivantes :

  • C'est une bonne pratique à adopter et vous devriez toujours penser à mettre à niveau vos fonctionnalités.
  • Si votre fonctionnalité fait quelque chose lorsqu'elle est activée/désactivée, comme ajouter des données ou nettoyer, l'activer/désactiver n'est peut-être pas une option.
  • Il peut être beaucoup plus facile de trouver tous les endroits pour mettre à niveau une fonctionnalité (intégrée) que de faire une boucle et de rechercher où la fonctionnalité est activée, puis de la désactiver/activer.

J'ai trouvé que la mise à jour des WSP peut parfois être un peu délicate.Parfois, je fais un plein Uninstall-SPSolution/Remove-SPSolution vous aidera si vous rencontrez un comportement étrange.

D'après mon expérience, le déploiement de Visual Studio se déroule généralement sans accroc.Pour cette raison, j'essaierai de faire correspondre le plus possible son processus de déploiement si je rencontre un problème de déploiement.Vous trouverez ci-dessous une description de la configuration de déploiement « par défaut » pour un projet SharePoint dans Visual Studio :

...Packages Le fichier WSP, recycle le pool d'applications, rétracte la version précédente de la solution, ajoute la solution, active toutes les fonctionnalités et exécute la ligne de commande post-déploiement.

Vous devrez réactiver les parties Web de la galerie de la partie Web. Aller aux actions du site> Paramètres du site Sous galeries> Parts Web Dans les documents de la galerie de pièces Web> Nouveau document Vous ferez bien les nouvelles pièces Web Sélectionnez les nouvelles pièces Web et cliquez sur Populate Gallery Dans la nouvelle partie Web, les propriétés Modifier modifient le groupe en personnalisés et cliquez sur Enregistrer Après cela, vous allez bien les nouvelles pièces Web dans les parties Web personnalisées

Lors de la désactivation, puis activez et enfin recyclez le pool d'applications résolvez mon problème. Maintenant que la partie Web est affichée dans la galerie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top