SPUtility.GetGenericSetupPath est obsolete

SPUtility.GetGenericSetupPath est obsolète, long vie à SPUtility.GetCurrentGenericSetupPath & GetVersionedGenericSetupPath

Parfois dans quelques scénarios nous avons besoin de retrouver le dossier d’installions par défaut de SharePoint, mais j’ai remarqué que certains de mes collaborateurs écris ce chemin en dur ‘ hardcode’!

private const string sPRootFolder = "C:\\Program Files\\Common Files\\Microsoft Shared\\web server extensions\\14\\";

Cette méthode est fortement déconseillé, puisque le chemin d’installation de SharePoint dépond de configuration faite au début de l’installions, donc ce code va causer une erreurs.

Pour SharePoint 2010, la meilleure façon de retrouver ce dossier est l’utilisation de la méthode GetGenericSetupPath disponible dans la class statique SPUtility. Mais cette méthode est devenue obsolète avec l’introduction de la nouvelle API de SharePoint 2013 et elle est remplacée par deux nouvelles méthodes :

Pour des besoins de rétro-compatibilité, Microsoft a gardé le Hive 14 dans SharePoint 2013,  donc on se retrouve avec deux Hive le 14 et le nouveau 15, comme illustré dans l’image si dessous.

layouts-folder-sharepoint-2013Exemple d’utilisation :

string layout15 =  SPUtility.GetVersionedGenericSetupPath("Template\\Layouts", 15);

retourne  « C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\15\\Template\\Layouts »

string layout14 =  SPUtility.GetVersionedGenericSetupPath("Template\\Layouts", 14);

retourne  « C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\Template\\Layouts »

C’est deux méthodes peuvent vous aider à créer des solutions avec un code suffisamment robuste et générique.

 

Nizar Grindi

Consultant SharePoint chez Upper-Link
Consultant, passionné par #Scrum et les technologies Microsoft plus particulièrement #SharePoint. Certified #ScrumMaster et Fondateur du @TunisiaSUG

Vous aimerez aussi...

%d blogueurs aiment cette page :