How to fix "System.InvalidOperationException: Sequence contains no matching element" error after upgrading your v7/v8 project to v13+
As part of my job, I get involved in quite a few Umbraco upgrade projects, and recently, after upgrading an Umbraco v8 project to the latest LTS version of Umbraco (v13), I saw a new error which blocked a piece of content from being rendered correctly.
Problem
The problem was happening with one Special CTA content block and all other blocks were looking good.
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.ThrowHelper.ThrowNoMatchException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.ConvertValue(String id, String contentTypeAlias, String dataJson)
at Our.Umbraco.DocTypeGridEditor.Helpers.DocTypeGridEditorHelper.RenderDocTypeGridEditorItem(IViewComponentHelper helper, IHtmlHelper htmlHelper, Object model)
at AspNetCore.App_Plugins_DocTypeGridEdito
r_Render_DocTypeGridEditor.ExecuteAsync() in D:\git\repos\ProjectNameNewPlatform\src\ProjectName.Web.UI\App_Plugins\DocTypeGridEditor\Render\DocTypeGridEditor.cshtml:line 36
r_Render_DocTypeGridEditor.ExecuteAsync() in D:\git\repos\ProjectNameNewPlatform\src\ProjectName.Web.UI\App_Plugins\DocTypeGridEditor\Render\DocTypeGridEditor.cshtml:line 36
at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts)
at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
at Microsoft.AspNetCore.Mvc.ViewFeatures.HtmlHelper.RenderPartialCoreAsync(String partialViewName, Object model, ViewDataDictionary viewData, TextWriter writer)
at Microsoft.AspNetCore.Mvc.ViewFeatures.HtmlHelper.PartialAsync(String partialViewName, Object model, ViewDataDictionary viewData)
at AspNetCore.Views_Partials_grid_editors_base.ExecuteAsync() in D:\git\repos\ProjectNameNewPlatform\src\ProjectName.Web.UI\Views\Partials\grid\editors\base.cshtml:line 6
Reason for the error
When I investigated the problem further, I realised that the Umbraco v8 website was using a package, namely, Font Awesome Icon Picker, from within this Special CTA block component and my new v13 website simply didn't have this package installed. Furthermore, this package is not available any longer, and when I did my data migrations, a custom "Font Awesome Icon Picker" data type was converted to Label, which is expected when the actual property editor is not available in the new system.
Solution
The solution was simply to get the green light from the client and remove the property that relied on the "Font Awesome Icon Picker" custom data type. After this, all was good again.
Comments
Post a Comment