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

See https://github.com/dnnsoftware/Dnn.Platform/blob/8151da229c803ea82cb7956d3c36bb322d4634ed/DNN Platform/Library/Services/Url/FriendlyUrl/FriendlyUrlProvider.cs#L50

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

Most upvoted comments

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 can confirm also the same errors using Ventrian News Articles. ventrian/News-Articles#42

I will add this module as well.

Thanks @b-creative @marietteknap for stepping up here with testing efforts for the community… YOUR AWESOME!