Dnn.Platform: Method not found: 'System.String DotNetNuke.Services.Url.FriendlyUrl.FriendlyUrlProvider.FriendlyUrl(DotNetNuke.Entities.Tabs.TabInfo, System.String, System.String, DotNetNuke.Entities.Portals.PortalSettings)'
Description of bug
9.4.2 has broken all of our modules due to Method not found: ‘System.String DotNetNuke.Services.Url.FriendlyUrl.FriendlyUrlProvider.FriendlyUrl(DotNetNuke.Entities.Tabs.TabInfo, System.String, System.String, DotNetNuke.Entities.Portals.PortalSettings)’.
Error log
2019-11-13 10:05:23.285+01:00 [WIN-SVOFJIQAQ17][D:8][T:9][FATAL] DotNetNuke.Framework.PageBase - An error has occurred while loading page.
System.MissingMethodException: Method not found: ‘System.String DotNetNuke.Services.Url.FriendlyUrl.FriendlyUrlProvider.FriendlyUrl(DotNetNuke.Entities.Tabs.TabInfo, System.String, System.String, DotNetNuke.Entities.Portals.PortalSettings)’.
at Mandeeps.DNN.Libraries.URL.Factories.URLFactory.GetFriendlyURL(Nullable1 ModuleID, PortalSettings pS, String QueryParameters, URLEntity u) at Mandeeps.DNN.Modules.LiveArticles.Components.LiveArticlesController.GetArticleLink(ArticleVersion article, VersionPage vPage) at Mandeeps.DNN.Modules.LiveArticles.Components.LiveArticlesController.ReplaceArticleTokens(ArticleVersion Article, String Template, Int32 UserId, Dictionary2& RenderControlsDefinition, Boolean ThumbnailReplace, Int32 CurrentPageId, Widget wt, Boolean UseStoredProcedure, Boolean IsAjaxPreview)
at Mandeeps.DNN.Modules.LiveArticles.Components.LiveArticlesController.RenderRecentArticles(Widget widget, Int32 UserId, Dictionary`2& RenderControlsDefinition)
at Mandeeps.DNN.Modules.LiveArticles.UI.LiveArticlesWidget.View.Initialize()
at System.Web.UI.Control.OnLoad(EventArgs e)
at DotNetNuke.Entities.Modules.PortalModuleBase.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Additional context
Affected version
- [ x ] 9.4.2
Affected browser
- Chrome
- Firefox
- Safari
- Internet Explorer
- Edge
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 23 (19 by maintainers)
Commits related to this issue
- Add PortalSettings overloads back Fixes #3289 — committed to bdukes/Dnn.Platform by bdukes 5 years ago
- Add PortalSettings overloads back (#3295) Fixes #3289 — committed to dnnsoftware/Dnn.Platform by bdukes 5 years ago
- Merges latest changes from 9.4.x into development (#3366) * Do not store these portal settings when setting their property on the portalsettings object * Removed DnnHttpControllerActivator and add... — committed to dnnsoftware/Dnn.Platform by bdukes 5 years ago
I’m working on a PR that will add back the overloads but mark them as deprecated. Still testing that it fixes the issue and doesn’t cause compilation issues going forward (e.g. ambiguous overload)
Merged, will be out with 9.4.3 soon…
Ok, so if I understand correctly, in #3160 the overload was modified to use the IPortalSettings abstraction instead of PortalSettings, but from the comments on there, PortalSettings does Inherit from IPortalSettings already and for that reason this was not expected to be a breaking change. It would be really nice to get some testing from module vendors before/during the RC stages to spot these issues before releases.
I will add this module as well.
Thanks @b-creative @marietteknap for stepping up here with testing efforts for the community… YOUR AWESOME!