What are the steps to implement a new navigation provider?
I want to make an enhancement to the DNN Menu (DNN
MenuNavigationProvider).
I duplicated the file and made my changes; changed the namespace and compiled it in a private assembly.
Next I added the new provider to the web.config where it should be and provided the path to the provider vb file I made which is in DesktopModules etc.
I changed the provdider name in the DNN Nav register directive in the skin to use my new provider, but when I load the page with that skin, I get the following error:
Value cannot be null. Parameter name: type ---> System.ArgumentNullException: Value cannot be null. Parameter name: type at System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.Activator.CreateInstance(Type type) at DotNetNuke.Framework.Reflection.CreateObject(String TypeName, String CacheKey, Boolean UseCache)
When I put a breakpoint during load it stops here:
Public
Shared Shadows Function Instance(ByVal FriendlyName As String) As NavigationProviderReturn CType(Framework.Reflection.CreateObject("navigationControl", FriendlyName, "", ""), NavigationProvider)End Function
The FriendlyName is correct, it's the name I gave the new provider. I'm still inheriting the dotnetnuke navigation provider.
What am I doing wrong?