Could someone please help me understand this error:
[NullReferenceException: Object reference not set to an instance of an object.]
Adxstudio.Xrm.Search.DataverseSearch.Providers.Filters.KnowledgeArticleFilterConfigProvider.TryGetLanguageCode(String& languageID) in C:\__w\1\s\Framework\Adxstudio.Xrm\Search\DataverseSearch\Providers\Filters\KnowledgeArticleFilterConfigProvider.cs:78
Adxstudio.Xrm.Search.DataverseSearch.Providers.Filters.KnowledgeArticleFilterConfigProvider.GetFilters(IEnumerable`1 facetConstraints) in C:\__w\1\s\Framework\Adxstudio.Xrm\Search\DataverseSearch\Providers\Filters\KnowledgeArticleFilterConfigProvider.cs:37
Adxstudio.Xrm.Search.DataverseSearch.Providers.DataverseSearchFilterProvider.GetFilters(String entityName, IEnumerable`1 facetConstraints) in C:\__w\1\s\Framework\Adxstudio.Xrm\Search\DataverseSearch\Providers\DataverseSearchFilterProvider.cs:54
Adxstudio.Xrm.Search.DataverseSearch.Providers.SearchEntityProvider.GetEntity(String entityName, IEnumerable`1 facetConstraints) in C:\__w\1\s\Framework\Adxstudio.Xrm\Search\DataverseSearch\Providers\SearchEntityProvider.cs:55
Adxstudio.Xrm.Search.DataverseSearch.Providers.SearchEntityCollectionProvider.GetEntitiesList(List`1 logicalNames, IEnumerable`1 facetConstraints) in C:\__w\1\s\Framework\Adxstudio.Xrm\Search\DataverseSearch\Providers\SearchEntityCollectionProvider.cs:61
Adxstudio.Xrm.Search.DataverseSearch.DataverseSearchQuery..ctor(String queryText, Int32 pageNumber, Int32 pageSize, String filter, List`1 logicalNames, IWebsiteLanguage language, Boolean multiLanguageEnabled, Int32 postProcessingLimit, IEnumerable`1 facetConstraints, Boolean isFacetedSearch, Boolean isGlobalSearch, String sortingOption, Int32 top, Int32 skip) in C:\__w\1\s\Framework\Adxstudio.Xrm\Search\DataverseSearch\DataverseSearchQuery.cs:84
Adxstudio.Xrm.Web.UI.WebControls.SearchDataSourceView.ExecuteSelect(DataSourceSelectArguments args) in C:\__w\1\s\Framework\Adxstudio.Xrm\Web\UI\WebControls\SearchDataSourceView.cs:69
Adxstudio.Xrm.Web.UI.WebControls.SearchDataSourceInfoView.ExecuteSelect(DataSourceSelectArguments args) in C:\__w\1\s\Framework\Adxstudio.Xrm\Web\UI\WebControls\SearchDataSourceInfoView.cs:17
System.Web.UI.WebControls.Repeater.GetData() +335
System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource) +286
System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e) +79
System.Web.UI.WebControls.Repeater.EnsureDataBound() +142
System.Web.UI.WebControls.Repeater.OnPreRender(EventArgs e) +19
System.Web.UI.Control.PreRenderRecursiveInternal() +199
System.Web.UI.Control.PreRenderRecursiveInternal() +296
System.Web.UI.Control.PreRenderRecursiveInternal() +296
System.Web.UI.Control.PreRenderRecursiveInternal() +296
System.Web.UI.Control.PreRenderRecursiveInternal() +296
System.Web.UI.Control.PreRenderRecursiveInternal() +296
System.Web.UI.Control.PreRenderRecursiveInternal() +296
System.Web.UI.Control.PreRenderRecursiveInternal() +296
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7478
I setup the global search/dataverse search for my portal (a blank template) and after successfully making queries from some custom tables, I decided to query the Knowledge Article table which I added to my solution. Since then, I have been receiving this error. I removed the KA from my solution and renamed the search view, so it does not get indexed. I have been stuck on this for the past 5 days.
I was able to resolve this issue by doing the following steps:
I hope this helps if you do encounter this same error if you are not using any of the recommended Dynamics 365 templates that support the knowledge articles.
Workaround:
Based on the client's requirements we decided to create custom tables to separate KA for anonymous and authenticated users. Then using the liquid searchindex we assign different logical names depending on the user type.