Converting VB6 to VB.NET

Updating VB6 code is possible but daunting

VB.Net has a built-in migration tool, but converting VB6 code to VB.NET isn’t as easy as loading it to the newer software. The migration tool does a lot of the work, especially with syntax, but nowhere near all of it. You must work on your VB6 code before you try to load it in VB.Net.

Should You Upgrade the Code?

Some types of programs are best left in VB6. If your projects use WebClasses, DHTML pages, and UserControls, the migration to VB.NET may not go smoothly.

That isn’t to say you shouldn’t try. The migration wizard will list any critical issues, and you can go back and fix them.

Preparing Your VB6 Code for Migration

Remove any dead code that your program doesn’t use and join any duplicated code to reduce the code more. You can do this manually if you are patient or your program isn’t lengthy, or you can use a source code analyzer program to locate the duplicated or unused code.

Fix Any Data Declarations

If you used undeclared variables in your program, you have a lot of work ahead of you. Add proper type declarations to every Dim statement and add Option Explicit statements. This will smooth the import process. Don’t worry, if you miss any, you’ll find out later.

VB.NET Wizard Goes to Work

Open your program in VB.NET and wait while the migration tool does its work. Expect to receive a lengthy report listing all the upgrade issues—the ones the wizard fixed and the ones it didn’t.

There will also be comments in the code near spots that need extra work.

Try to Compile

Don’t even hope for your code to compile the first time through. It won’t, but you’ll receive a long list of compile errors that you can go back and fix.

Work on Your Code

Using the reports, return to your code and fix the critical issues.

When you’ve done them all, load the code into VB.NET again. You may receive another list of critical issues to fix, but eventually, it will make it through the wizard and the compiler. You’re not done yet. Look for comments the migration tool left in your code and do whatever the comments say.

Now, run and test your program in VB.NET.