Web.config ファイルで次のロールの組み合わせが構成されている場合、マーケティング操作、エクスペリエンス アナリティクス、およびPath アナライザー アプリケーションが起動しない場合があります:
ContentManagement、ProcessingおよびReporting。
これは、構成ファイルの一部に誤ったrole:require属性があることで競合が発生し、NotSupportedExceptionやSystem.NullReferenceExceptionなどの例外が起きることが原因で発生します。以下のエラー メッセージがログに出力される場合があります:
ERROR One or more exceptions occurred while processing the subscribers to the 'item:creating' event.
Exception: System.NotSupportedException
Message: Getting definition by alias is not supported.
Sitecore.Marketing.Operations.Xdb.ReferenceData.Service.Definitions.DefinitionReferenceDataRepositoryBase`4.GetByAlias(String alias, CultureInfo cultureInfo, Boolean includeInactiveVersion) +62
Sitecore.Marketing.Definitions.DefinitionManagerBase`2.GetByAlias(String alias, CultureInfo cultureInfo, Boolean includeInactiveVersion) +216
Sitecore.Analytics.Data.DefinitionCollection`1.get_Item(String name) +156
Sitecore.Analytics.Data.TrackingField.ValidateLinks(LinksValidationResult result) +977
Sitecore.Links.ItemLinks.AddLinks(Field field, List`1 links, ItemLinkState linkState) +179
Sitecore.Links.ItemLinks.GetLinks(ItemLinkState linkState, Boolean allVersions, Boolean includeStandardValuesLinks) +1125
...
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Sitecore.Analytics
at Sitecore.Analytics.Data.TrackingField.ValidateLinks(LinksValidationResult result)
at Sitecore.Links.ItemLinks.AddLinks(Field field, List`1 links, ItemLinkState linkState)
at Sitecore.Links.ItemLinks.GetLinks(ItemLinkState linkState, Boolean allVersions, Boolean includeStandardValuesLinks)
at Sitecore.Links.ItemLinks.GetValidLinks(Boolean allVersions)
at Sitecore.Publishing.Pipelines.GetItemReferences.AddItemLinkReferences.GetReferences(Item item, Boolean sharedOnly, HashSet`1 processedItems)
at Sitecore.Publishing.Pipelines.GetItemReferences.AddItemLinkReferences.GetItemReferences(PublishItemContext context)
at Sitecore.Publishing.Pipelines.GetItemReferences.GetItemReferencesProcessor.Process(PublishItemContext context)
at (Object , Object )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, Boolean failIfNotExists)
at Sitecore.Publishing.Pipelines.GetItemReferences.GetItemReferencesPipeline.Run(PublishItemContext context, Boolean failIfNotExists)
...
この問題を解決するには、(必要に応じて)以下の構成ファイルをバックアップして更新してください。role:require属性は、貴社のソリューションの構成次第では、すでに正しく設定されている可能性があることに注意してください。
<sitecore role:require="!Reporting">
<processing role:require="!Processing">
<reporting role:require="!ContentManagement">
<sitecore role:require="ContentManagement AND !Reporting">
<sitecore role:require="Reporting AND !ContentManagement">
<sitecore role:require="(Processing or Reporting) AND !ContentManagement">
<sitecore role:require="(Processing or Reporting) AND !ContentManagement">