The regression is triggered by using Glass Mapper's function to get strongly typed rendering parameters.
Html.Glass().GetRenderingParameters<SomeGlassType>()
If the Glass type has a Url field:
[SitecoreInfo(SitecoreInfoType.Url)]
public virtual string Url { get; private set; }
Then GlassMapper ends up calling the following function in Sitecore.Kernel.dll:
Sitecore.Links.UrlBuilders.ItemUrlBuilder.Build()
In an earlier version Sitecore.Kernel.dll(16.0.0.0) this function would return string.Empty after checking if the item's path is null.
But in the newer version, Sitecore.Kernel.dll(19.0.0.0), an exception is thrown before reaching a similar check.
This seems like Sitecore tripping on the fake item created by Glass when mapping the rendering parameters in RenderingParametersModelFactory.cs.
The regression is triggered by using Glass Mapper's function to get strongly typed rendering parameters.
Html.Glass().GetRenderingParameters<SomeGlassType>()
If the Glass type has a Url field:
Then GlassMapper ends up calling the following function in Sitecore.Kernel.dll:
Sitecore.Links.UrlBuilders.ItemUrlBuilder.Build()
In an earlier version Sitecore.Kernel.dll(16.0.0.0) this function would return string.Empty after checking if the item's path is null. But in the newer version, Sitecore.Kernel.dll(19.0.0.0), an exception is thrown before reaching a similar check.
This seems like Sitecore tripping on the fake item created by Glass when mapping the rendering parameters in
RenderingParametersModelFactory.cs
.Versions
Call stack