After upgrading to 6.2.2 I was getting a Page Load Exception clicking the Register link. I traced this problem to the follow scenario:
- the site had a "calculated" display name = [FIRSTNAME] [LASTNAME] so those two built-in fields were visible on the registration form.
- the site also had custom profile fields called FirstName and LastName which were ticked as required.
- The "Require a valid Profile for Registration" box was ticked in site settings so the above profile fields should also have been displayed on the registration page.
The exception was related to a ListDictionery and the message was "An entry with the same key already exists".
Solving the problem involved removing the duplicate FirstName and LastName entry fields - either by clearing out the calculated display name, or by deleting the profile fields (or at least making them not required so they don't show on the registration form).
For completeness here's part of the stack trace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: An entry with the same key already exists. at System.Collections.Specialized.ListDictionary.Add(Object key, Object value) at System.Web.UI.ClientScriptManager.RegisterExpandoAttribute(String controlId, String attributeName, String attributeValue, Boolean encode) at System.Web.UI.ScriptRegistrationManager.RegisterExpandoAttribute(Control control, String controlId, String attributeName, String attributeValue, Boolean encode) at System.Web.UI.ScriptManager.RegisterExpandoAttribute(Control control, String controlId, String attributeName, String attributeValue, Boolean encode)