Créer des librairies pour les projets SharePoint

Jun 23, 2012

Récemment au travail on m’a demandé d’extraire du code d’un projet que j’avais réalisé pour gérer la sécurité des formulaires dans SharePoint lors d’un projet client pour qu’il resserve au sein de plusieurs autres projets.

Puisqu’il n’y avait « que du code » et pas d’éléments de déploiements propres à SharePoint (ex webparts, contrôles utilisateurs & co) j’ai donc commencé à construire un projet de type librairie de classes afin que les autres développeurs puissent directement inclure cette librairie au sein de leurs projets SharePoint.

Simplement une fois cette librairie compilée et avant de la transmettre aux autres développeurs, j’ai testé son intégration au sein d’un projet. Le « hic » est qu’une fois la librairie incluse (et des éléments de code contenus dans cette librairie appelés) j’obtenais ces erreurs lors de la compilation (l’une ou l’autre).

Compilation failed. Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Assembly generation failed – Referenced assembly ‘’ does not have a strong name

Et internet n’était pas très bavard sur le sujet. Embêtant n’est-ce pas ? Ce qu’il faut bien comprendre c’est que le compilateur doit respecter en ensemble de contraintes pour générer un programme qui sera exploitable par la machine. Il impose donc aux projets de respecter ces mêmes contraintes. Une de ces contraintes dans le cadre du développement SharePoint est que les assemblies sont signés pour des raisons de sécurité. De plus du code signé ne peut faire appel à du code non signé.

Pour effectuer cela, clic droit sur le projet de bibliothèque de classes, propriétés puis dans l’onglet « Signature » à gauche.

1727.libforsharepoint01.JPG   Cochez la case « Signer l’assembly » puis générez un certificat (ou utilisez ceux fournis par votre entreprise si cette dernière a déjà des certificats pour signer les assemblies)

Dans le cadre du développement SharePoint n’oubliez pas les éléments suivants en termes d’assemblies si vous ne vous pas avoir des problèmes de compilation ou de déploiement :

  • Cible du framework : .NET framework 3.5 (pour SharePoint 2010) - Architecture cible : Any CPU - Culture : attention là aussi de faire en sorte que les cultures s’il y a lieu correspondent.

Voilà j’espère que ce court article permettra à beaucoup de développeur de gagner du temps sur des oublis simple : )


Edité la dernière fois le 6 Sep 2021 par Vincent


Tags: