2010-11-30 7 views
0

Je suis en train de mettre à niveau notre installation SharePoint 2007 vers SharePoint 2010. L'un des problèmes que je rencontre est une exception NullReferenceException lorsque je vais dans Actions du site -> Paramètres du site -> Navigation. Je ne suis pas sûr où et comment commencer à déboguer ce problème. Quelqu'un a des idées?Sharepoint 2010 NullReferenceException

La trace de message d'erreur et la pile je reçois sont:

[NullReferenceException]: Object reference not set to an instance of an object. 
    at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.FetchDynamicItems(PublishingWeb pubWeb, NodeTypes includedTypes, Boolean& websFetched, Boolean& pagesFetched) 
    at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildrenInner(NodeTypes includedTypes) 
    at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildren(NodeTypes includedTypes) 
    at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedTypes, NodeTypes includedHiddenTypes, Boolean trimmingEnabled, OrderingMethod ordering, AutomaticSortingMethod method, Boolean ascending, Int32 lcid) 
    at Microsoft.SharePoint.Publishing.Internal.CodeBehind.AreaNavigationSettingsPage.AddChildrenToControl(String parentId, PortalSiteMapNode node, Int32 depth, Int32 maxDepth) 
    at Microsoft.SharePoint.Publishing.Internal.CodeBehind.AreaNavigationSettingsPage.InitializeNavigationEditSort() 
    at Microsoft.SharePoint.Publishing.Internal.CodeBehind.AreaNavigationSettingsPage.OnLoad(EventArgs e) 
    at System.Web.UI.Control.LoadRecursive() 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
[HttpUnhandledException]: Exception of type 'System.Web.HttpUnhandledException' was thrown. 
    at System.Web.UI.Page.HandleError(Exception e) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest() 
    at System.Web.UI.Page.ProcessRequest(HttpContext context) 
    at ASP._layouts_areanavigationsettings_aspx.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

Répondre

0

je devais changer "Pages" à "Pages Web" dans les ressources \ fichier osrvcore.en États-Unis dans la ruche 14:

<Data Name="List_Pages_UrlName"> 
    <Value>WebPages</Value> //Change from "Pages" 
</Data> 

Une fois que j'ai fait cela, l'erreur a disparu.

0

Cela se produit parce que vous avez des noeuds présents dans la base de données, mais la SPSite réelle ou SPWeb ne figure pas dans la base de données de contenu. Cela indique qu'un ou plusieurs sites n'ont pas complètement migré. Pour déboguer cela, écrire un utilitaire personnalisé, qui parcourra les noeuds de navigation et tentera de l'instancier en tant qu'objet SPWeb. L'échec indiquera le délinquant.

+0

Très bien, je l'ai fait. Les seuls nœuds qui ne s'ouvriraient pas étaient default.aspx, ce que je suppose pouvoir ignorer, et un nœud intitulé "Sharepoint Top Navbar" avec une URL de "sid: 1002". Cela ne ressemble pas au problème que vous avez décrit, car il n'y a pas d'URL valide dans la base de données de contenu pour ce noeud. – stomcavage