Comment récuperer le code source de vos projets SharePoint perdu à partir d’un WSP?

Introduction

Un de mes collègues a récemment perdu une partie de son code source suite à un problème technique avec un poste virtualisé. Il n’avait pas eu le temps d’archiver le code dans le gestionnaire de code source et tout ce dont il disposait était le code compilé (WSP). Après avoir essayé de recréer sont code à partir de rien, il s’est résolu à venir me voir pour trouver une solution à sont problème.

Dans ce billet nous allons voir comment il est possible de recréer un projet SharePoint à partir d’un fichier WSP et si requis de dé-compiler les DLL d’un projet.

Recréer un projet SharePoint à partir d’un WSP

Pour importer un fichier .wsp

  1. Dans Visual Studio, dans la barre de menus, choisissez Fichier, Nouveau, Projet pour afficher la boîte de dialogue Nouveau projet.  Si votre interface IDE est définie pour utiliser les paramètres de développement Visual Basic, dans la barre de menu cliquez sur Fichier, puis Nouveau Projet.

  2. Développez le nœud SharePoint sous Visual C# ou Visual Basic,

  3. Choisissez le modèle Importer le package de solution SharePoint dans le volet Modèles, puis cliquez sur OK.

    L’Assistant Personnalisation de SharePoint s’affiche.

  4. Dans la page Spécifier le site et le niveau de sécurité pour le débogage, spécifier un site existant.

  5. Dans la section Quel est le niveau de confiance de cette solution SharePoint ?, sélectionner une des deux options.

  6. Dans la page Spécifier la nouvelle source de projet, accédez à l’emplacement du système où vous avez stocké le fichier .wsp, puis cliquez sur le bouton Suivant.

    123012_2133_importingsh6

  7. Dans la zone Sélectionner les éléments à importer, sélectionner tous les éléments que vous voulez récupérer, puis cliquez sur Terminer.

    123012_2133_importingsh8

    Une fois l’opération d’importation terminée, un nouveau projet appelé WspImportProject1 dans lequel figure un dossier nommé Champs est alors créé.  Ce dossier contient les colonnes de site personnalisée.

    123012_2133_importingsh9

Cette opération vous permet de recréer un projet avec les différents artefacts. Cependant, certains éléments comme les DLL peuvent se retrouver dans les « éléments non importés ».

Décompiler les DLL

Ensuite, pour les éléments qui n’ont pas pu être importés, il est possible de dé-compiler les DLL à l’aide d’un outil comme ILSpy ou Reflector :

Capture

Vous pourrez ensuite, extraire le code et recréer vos classes dans votre projet.

Conclusion

Bien évidemment, ça ne permet pas de reproduire exactement le projet dans le même état initial mais on peut tout de même récupérer le code source perdu. Idéalement, pensez à archiver vos sources régulièrement dans votre gestionnaire de code source afin d’éviter de vous retrouver dans cette fâcheuse situation.

Advertisements

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l’aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s