0

We recently upgraded from Sitecore 8 to Sitecore 10.1 and have encountered an error in Path Analyzer. The error message is:

Message: Could not load type 'Sitecore.ContentTesting.Rules.Conditions.EntryPageCondition' from assembly 'Sitecore.ContentTesting'.
Source: mscorlib
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
   at System.Type.GetType(String typeName, Boolean throwOnError)
   at Sitecore.Marketing.Segmentation.ExpressionBuilder.ContentTreePredicateDescriptorLocator.GetDescriptor(Guid id)


 464 08:48:58 ERROR [Path Analyzer] Error during aggregation.
Exception: Sitecore.XConnect.Segmentation.ExpressionBuilder.PredicateDescriptorException
Message: No known predicate type could be determined from 'Sitecore.ContentTesting.Rules.Conditions.EntryPageCondition,Sitecore.ContentTesting' specified in the definition item (Id = '9bd1f746-b5df-4fe3-a1f8-af6dfb660333', db = 'master') : Could not load type 'Sitecore.ContentTesting.Rules.Conditions.EntryPageCondition' from assembly 'Sitecore.ContentTesting'.
Source: Sitecore.Marketing.Segmentation.xMgmt
   at Sitecore.Marketing.Segmentation.ExpressionBuilder.ContentTreePredicateDescriptorLocator.GetDescriptor(Guid id)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.ConditionXmlNodeConverter.LookupType(Guid descriptorId)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.ConditionXmlNodeConverter.ConvertNodeInternal(INodeConversionContext`2 context, XElement element)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.BaseXmlRuleNodeConverter`1.Convert(INodeConversionContext`2 context, XElement node)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.AndXmlNodeConverter.ConvertNodeInternal(INodeConversionContext`2 context, XElement element)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.BaseXmlRuleNodeConverter`1.Convert(INodeConversionContext`2 context, XElement node)
   at Sitecore.XConnect.Segmentation.ExpressionBuilder.TreeConverter.TreeConverter`2.Convert(TFromNode treeRoot)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.RuleXmlConverter.CreateRule(XElement ruleElement)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Sitecore.PathAnalyzer.Rules.RulesBuilder.BuildXmlRules(String rulesXml)
   at Sitecore.PathAnalyzer.Rules.RulesBuilder.BuildRules(String rulesXml)
   at Sitecore.PathAnalyzer.Rules.RulesValidator.ValidateRule(Interaction interaction, String rulesXml, ConditionParameters parameters)
   at Sitecore.PathAnalyzer.Construction.TreeBuilder.IsApplicable(Interaction interaction, String rulesXml, ConditionParameters conditionParameters)
   at Sitecore.PathAnalyzer.Construction.TreeBuilder.Build(Interaction interaction)
   at Sitecore.PathAnalyzer.Processing.AggregationContextCollector.Collect(Interaction interaction)
   at Sitecore.PathAnalyzer.Processing.TreeAggregator.Aggregate(ItemBatch`1 batch)
   at Sitecore.PathAnalyzer.Processing.Agents.TreeAggregatorAgent.Execute()

The error is complaining about the type Sitecore.ContentTesting.Rules.Conditions.EntryPageCondition which exists in the assembly Sitecore.ContentTesting.

I have tried the following steps to get rid of the error.

  • Deleted from TreeDefinitions

  • Redeployed all Path Analyzer Map definitions by visiting the tool - /sitecore/admin/pathanalyzer.aspx

  • Clicked "Deploy all maps that are not deployed" in the Maps Manager section

  • Clicked "Rebuild" in the Historic Map Rebuild section

  • Cleared all tables in the RefData database

  • Redeployed all Marketing Definitions

  • Rebuild the xDB index in Solr

  • Rebuild the reporting database

  • Rebuild all Solr indexes

  • Reset the IIS pool multiple times

Although the above steps have allowed me to show data being recorded in the xDB correctly, Path Analyzer errors continue to occur.

enter image description here

I have also checked the assembly. It has a EntryPageConditions class.

enter image description here

Can someone suggest potential solutions to resolve it? Thank you.

9

1 Answer 1

0

Seems to me that you have upgraded the database, but not deployed the latest sitecore DLLS.

If you look at the latest v8 release - Sitecore Experience Platform 8.0 Update-6. The Sitecore.ContentTesting assembly doesnt contain the EntryPageCondition Class.

Sitecore Experience Platform 8.0 Update-6 - sitecore.contenttesting.dll

Whereas the equivalent in Sitecore Experience Platform 10.1 Update-2 has the class defined. Sitecore Experience Platform 10.1 Update-2 - Sitecore.Contenttesting.dll

Please review the bin folder on your sitecore installation. Check the properties of the Sitecore.ContentTesting.dll and ensure you are running Assembly: Sitecore.ContentTesting, Version=17.0.0.0

UPDATE

Further suggestions if DLLs updated.

  • Check solution (and .csproj files) for any old references that might somehow be lookng for old version of the file.
  • Also double check all other sitecore references are updated to 10.1
  • Ensure all projects correctly updated to run on .net 4.8
  • If you using processing server confirm DLLs have been successfully update there too.
  • Backup Sitecore DLLs then remove all and replace with DLLs from a clean install
2
  • thanks for the reply. Dll was the first thing I checked to make sure that the EntryPageConditions class exist in the Sitecore.ContentTesting API. I am using version 17.0.2. The assembly is correct and It has the required class. I have now updated my question. Commented Mar 15, 2023 at 1:01
  • thanks owais - please see update Commented Mar 15, 2023 at 8:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.