2010-11-30 56 views
0

我升级我们的SharePoint 2007安装到SharePoint 2010的一个我遇到的问题是一个NullReferenceException当我去网站操作 - >站点设置 - >导航。我不确定在哪里或如何开始调试此问题。有人有主意吗?2010的Sharepoint的NullReferenceException

错误消息和堆栈跟踪我越来越有:

[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) 

回答

0

我不得不改变 “的页面” 到 “网页” 的资源在14蜂巢\ osrvcore.en美国文件:

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

一旦我做到了,错误消失。

0

发生这种情况,因为你必须存在于数据库节点,但实际的SPSite或的SPWeb中不存在的内容数据库。这表明一个或多个网站未完全迁移。

要调试这一点,编写自定义工具,它会遍历导航节点和尝试实例作为SPWeb对象。失败将表明罪犯。

+0

好吧,我这样做。这将不开放是Default.aspx的唯一节点,我以为我可以跳过,并且题为“的Sharepoint顶部导航栏”有一个URL的节点“SID 1002”。这看起来不像您描述的问题,因为该节点的内容数据库中没有有效的URL。 – stomcavage 2010-12-01 21:18:34