I converted our UserManager from DNN 3 to 4. I copied all the class that do not have ascx associated to App_Code folder and leave all the ascx and their associated ascx.vb files under the DesktopModule folder.
Below are a fews issues I had to manually resolved
1. Codebehind changes to CodeFile - mass replace the this key word. Then for each ascx file, go in and delele controls that were ref. (Notice with CodeFile, you would not need to declare control (ex. textbox, lable, etc.) in the ascx.vb file)
2. DataProvider - replace the second assemly name (where you specify the SQL assembly name) with empty string.
3. In the SQLDataProvider where the connection string is read, replace it with the new code for .NET 2. I copied the code from the Widget sample module from Shawn tutorial.
4. For our UserManager module, since it used MembershipRole dll, the reference to the old namespace has to be changed to point to new name space (System.Web.Security)
Post conversion issues
1. VS 2005 Pro does not allow to control the name of the compiled assembly name. I tried the VS 2005 Web Deployment but the tool has bug when there is same class name, even the class has different namespace. For example for each previous DNN3 project, you have a class called DataProvider. The compile fails cause dup class name. Hope the final release of the web deployment will fix this error.
2. Package the module - there is no Create Assembly in the Host->Module Definitions. You have to do it manually.