Aller au contenu principal
15/06/2011 / Laurent Cotton

SharePoint 2010 : Comment corriger l’erreur 7043 (TaxonomyPicker) une bonne fois pour toute

Vous avez sans doute constaté qu’après une installation toute neuve de SharePoint 2010, vous avez une erreur qui remonte dans l’EventViewer. Le détail de l’erreur est le suivant :

image

Après avoir rapidement cherché sur le NET, toutes les infos que j’ai trouvé sur la correction du problème sont bidons. On vous demande de modifier le fichier TaxonomyPicker.ascx qui se trouve dans le répertoire “Template\ControlTemplates” du répertoire d’installation de SharePoint afin de remplacer :

<%@ Control ClassName="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker&#44;Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 

par :

<%@ Control ClassName="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker, Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 

Si vous faites le test, vous constaterez que ça ne corrige en rien le problème. Pourquoi ? Tout simplement parce que le namespace Microsoft.SharePoint.Portal.WebControls de l’assembly Microsoft.SharePoint.Portal ne contient aucune classe nommée TaxonomyPicker.

J’ai donc pris mon outils nouvel outil de réflexion préféré gratuit (ILSpy) pour partir à la recherche de cette classe (dans toutes les assemblies de SharePoint). A ma grande surprise, cette classe n’existe pas … inconnue au bataillon. Ne baissant pas les bras, j’ai regardé les contrôles utilisés dans le fichier TaxonomyPicker.ascx et j’ai cherché la classe qui déclarait des membres avec les mêmes noms. Et là, j’ai trouvé, dans le namespace Microsoft.SharePoint.Taxonomy de l’assembly Microsoft.SharePoint.Taxonomy, une classe nommée TaxonomyFieldEditor avec les mêmes contrôles que ceux déclarés dans le fichier ascx. J’ai donc modifié mon fichier TaxonomyPicker.ascx pour remplacer la ligne :

<%@ Control ClassName="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker&#44;Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 

par :

<%@ Control ClassName="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Taxonomy.TaxonomyFieldEditor, Microsoft.SharePoint.Taxonomy, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 

Recyclez IIS après avoir réalisé la modification afin de s’assurer que SharePoint prenne bien en compte les modifications et voilà, le tour est joué … vous pouvez vérifier, l’erreur ne remonte plus. Vous n’avez plus qu’à corriger toutes les plateformes que vous avez déjà installées …

15/06/2011 / Laurent Cotton

Changement de blog …

Après avoir utilisé overblog pour héberger mon blog, je me décide enfin à changer pour un moteur de blog qui, je l’espère, sera plus aisé à utiliser. Je dois bien avouer ne pas avoir blogué depuis un moment tellement je trouvais ça « casse … » sur overblog (opinion personnel).

Bref, me revoilà, avec un nouveau blog. Vous y trouverez toujours des tips et infos sur SharePoint mais plus seulement. Mon précédent blog était uniquement destiné à bloguer sur SharePoint ce qui m’a régulièrement frustré quand je souhaitais aborder d’autres points. Donc, cette fois-ci, no limit !

Je vous donne rendez-vous très bientôt pour les premiers posts …