保存布局页面时Sitecore NullReferenceException

时间:2012-10-15 08:50:21

标签: sitecore

我有一个NullReferenceException,但是当我试图保存Layout页面时。 我正在使用电子邮件广告管理器。 我已经构建了一个布局页面(ASPX),其中包含多个链接到自定义子布局(ASCX)的占位符

通过电子邮件管理器(“添加到此处”)添加这些Sublayout表单后,单击“保存”按钮并收到错误消息:

[NullReferenceException: Object reference not set to an instance of an object.]
   Sitecore.Modules.EmailCampaign.Core.MessageRelationsCorrector.ReplaceItemPaths(LayoutDefinition layout) +164
   Sitecore.Modules.EmailCampaign.Core.MessageRelationsCorrector.CorrectItemRelations(WebPageMail message) +236
   Sitecore.Modules.EmailCampaign.Pipelines.CorrectMessageRelations.Process(SaveArgs args) +268

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner) +0
   System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner) +72
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +251
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +28
   Sitecore.Pipelines.Processor.Invoke(PipelineArgs args) +262
   Sitecore.Nexus.Pipelines.NexusPipelineApi.Resume(PipelineArgs args, Pipeline pipeline) +225
   Sitecore.Pipelines.Pipeline.Resume() +39
   Sitecore.Pipelines.Pipeline.DoStart(PipelineArgs args) +115
   Sitecore.Pipelines.Pipeline.Start(PipelineArgs args, Boolean atomic) +133
   Sitecore.Pipelines.Pipeline.Start(PipelineArgs args) +32
   Sitecore.Shell.Applications.WebEdit.Commands.Save.Execute(CommandContext context) +669
   Sitecore.Shell.Framework.Dispatcher.Dispatch(Message message, CommandContext context) +62
   Sitecore.Shell.Framework.Dispatcher.Dispatch(Message message, Item[] items) +110
   Sitecore.Shell.Framework.Dispatcher.Dispatch(Message message, Item item) +78
   Sitecore.Shell.Applications.WebEdit.WebEditRibbonForm.HandleMessage(Message message) +429
   Sitecore.Shell.Framework.Commands.MessageCommand.Execute(CommandContext context) +447
   Sitecore.Web.UI.Sheer.ClientPage.Dispatch(String command) +143
   Sitecore.Web.UI.Sheer.ClientPage.RaiseEvent() +108
   Sitecore.Web.UI.Sheer.ClientPage.OnPreRender(EventArgs e) +624
   Sitecore.Shell.Applications.WebEdit.WebEditRibbon.OnPreRender(EventArgs e) +35
   System.Web.UI.Control.PreRenderRecursiveInternal() +103
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496

你知道原因是什么吗?如果没有,我该如何调试这类错误?

1 个答案:

答案 0 :(得分:1)

我认为这个问题与ECM模块中新注册的错误有关,我怀疑可能是因为时间段匹配而将原始票证放入其中。但是,如果不是您或者为了将此问题传递给可能遇到此问题的其他人,为了解决这个问题,您需要在Sitecore支持中加入票证。有一个初始修补程序,如果他们发现您的问题相同或相关,他们可以为您提供此修补程序。