Publié
dimanche 6 décembre 2009 15:34
par
Arnault Nouvel
Lorsqu’on essaie pour la première fois d’utiliser le modèle objet de SharePoint 2010 dans une application console ou autre exécutable .NET classique, l’aventure peut commencer par l’erreur FileNotFoundException suivante :
Ce problème est normal : par défaut, Visual Studio configure la plupart des projets pour une plateforme x86. Mais pour utiliser le modèle objet de SharePoint 2010, un projet devra être configuré pour une plateforme x64.
Cela se configure en quelques clics. Voici comment faire :
Dans le Solution Explorer, un clic-droit sur le nœud de la solution, puis Configuration Manager.
On crée ensuite une nouvelle “Platform” via le bouton New…
La fenêtre propose alors de créer une plateforme “Any CPU” (compatible x64), on peut valider sans rien changer.
Le projet est maintenant correctement configuré, relançons l’application pour tester.
L’objet SPSite s’instancie maintenant correctement.
Ce problème n’est pas seulement lié à la classe SPSite. En pratique, la première fois que j’ai eu ce problème, c’était avec un appel à SPFarm.Local qui renvoyait null si le projet est configuré en x86.
Selon le type d’objet que l’on cherche à manipuler, on aura donc soit une référence nulle, soit une erreur lors de l’instanciation.
Dans les deux cas, rien n’indique au développeur que le problème est lié à la configuration de plateforme du projet. Il devra donc en avoir conscience pour exploiter le modèle objet dans un projet “non-SharePoint”.
Heureusement, les nouveautés de SharePoint 2010 ainsi que les nouvelles possibilités offertes par Visual Studio 2010 pour le développeur SharePoint feront vite oublier ce petit désagrément :)
Arnault Nouvel
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :