After upgrading to DNN 9.2, the third-party modules and skins in your environment may not function. This article will detail how to restore functionality to these components.
Shortly after the release of DNN 9.1.1 we discovered over 500 deprecated APIs that were still included in the source files. These APIs were deprecated for a number of reasons including security vulnerabilities, poor performance, the presence of bugs, and being superseded by later APIs. As of DNN 9.2 these APIs have been removed.
If you have not updated certain extensions (modules, themes, skins) in a while, it's likely that you are using deprecated APIs.
How can I tell if I'm using deprecated APIs?
What errors might I see?
As an example, you may see errors that look like the following:
System.MissingMethodException: Method not found: 'Void DotNetNuke.Framework.CDefault.AddStyleSheet(System.String, System.String)
Will my site break if I upgrade to 9.2?
It may. We have removed over 500 deprecated APIs in 9.2, and if you happen to use any one of them, the page hosting that module will definitely break. Please advise your module developer to update the module with the suggested alternate API.
How do I know the alternate APIs to use?
We always note down the name of new APIs (if there is one) while deprecating APIs. This will appear in the compiler warning. As an example, the method "protected bool IsPreview" in namespace "DotNetNuke.UI.ControlPanels.ControlPanelBase" has been "Deprecated in 5.0. Replaced By UserMode."
You can have a look at the List of Changed Deprecated Methods in version 9.2 to see which APIs have been changed
You will need to get into contact with your third-party vendor or developer and have them update the deprecated APIs from the List of Changed Deprecated Methods in version 9.2.
You can confirm that the module is functional by:
- Accessing the page the module is on to see if there are any error messages.
- Go to your SiteRoot/Portals/_default/Logs folder and see if there are any errors generated from your third-party module regarding methods not being found.