Migrating applications from Visual Basic 6.0 to .NET
April 23, 2008 – 2:08 am
You have probably learned by now that all prior versions, including Visual Basic 6.0 are totally different than Visual Basic .NET. Until now, you probably read about all the nice things that .NET Framework has to offer such as visual inheritance, method overloading, exception management using try-catch-finally etc. If you are in a position where you have an existing Visual Basic 6 .0 or ASP solution under your belt, you are probably feeling, this is not such a good thing.
The first thing that you need to ask is, “Do I need to move my application to .NET?”
There is always going to be something new around the corner whether it is a new language or tool, and the person making the decision to migrate has to think ROI. If you have a solution that is already working, and your clients are happy using and working with the existing solutions, there is probably no reason for you to move into .NET. Visual Basic 6.0 is still a good product and currently Microsoft is going to continue support for it. However, if you wish to keep your solution as the latest and greatest, and it is in the best interest of your company and clients, you probably would want to migrate your applications to .NET.
The Strategy
When we start developing any new software solution, certain steps are taken. We begin with a plan, identify processes, gather requirements, and eventually build the architecture of the solution. Once things start taking shape, we start with development. Why do we choose this path? We all know that the path for doing the analysis and design up front has been proven to save a lot of time and cost for software development. In order to migrate projects from any prior version of Visual Basic, the path for analysis and design up front yields the best results.
The analysis part is slightly different in this case. We begin by studying the current application, and try to identify code blocks that require changes. In order to migrate your VB applications, we do not choose the path most recommended by others, i.e. convert your existing applications to .NET and fix the converted code in .NET.
We believe that even if your developers have been working with .NET for the past six months or even a year, they probably have spent much more development time on your existing applications. They would be more comfortable and much faster making changes in your existing application than the migrated .NET application. We recommend making changes in your existing applications and getting them to a stage that we call “Migration Ready”.
Here are the steps that we recommend for migrating applications:
1. Evaluate the project and create a migration strategy
2. Make the changes in VB 6.0 project and create a “Migration Strategy”
3. Migrate using Visual Basic .NET Migration tool
4. If the changes are not at par, make more changes and use Migration tool (Repeat 2 and 3 as necessary)
5. Get developers at speed and make changes in .NET
6. Build the .NET solution
The migration path we have always chosen to help our clients begins with implementing a proof-of-concept first. This help us estimate resources, and estimate the time and cost to migrate the project. We recommend extracting at least one complex working process of the application and build it into a small working solution. Then, we attempt to migrate this solution first. This could be a couple of forms with a report.
Figure 1: Migration Strategy recommended by ELLKAY for ASP or Visual Basic 6.0 applications to Visual Basic .NET or C#
Attempt to migrate this solution using the recommended steps. Repeating steps 3 and 4 will help you get an idea about the complexity involved. Once you have succeeded in implementing the proof of concept, only then should you start with the real application.
Which Language?
Companies spend a lot more time on this question than they should. Which language should be used? Should it be VB .NET or C#? Our opinion is that it really does not matter. Most of the functionality between the two languages maps one-to-one and each one has a slight advantage over the other. I would recommend that you base this decision on the resources you have available. If you have developers who have been working with VB 6 and you are planning to go into .NET now, I would recommend VB .NET. If you have developers who have already spent a lot of time learning C#, pick C#.
If you choose to move to C#, remember that you do not have to re-write your applications. We provide a converter that can help you convert your Visual Basic .NET applications to C#.

Figure 2: Converting a Visual Basic .NET solution to a C# solution is as simple as running in through the migration converter utility
Conclusion
None of the migration strategies we have read have talked about this approach. Of everything that you have read so far, you will probably see that the strategy that we chose and implemented for migration is different. It is more practical, efficient, and useful. We have been very successful in implementing this strategy for our clients. If you wish to migrate your projects to .NET, we recommend that you start with VB6 version and not with .NET. If the right approach is not taken, migration can become a nightmare.
The approach that we recommend requires patience and you need to resist yourself and your developers from into jumping into the .NET bandwagon right away. The fruits however, will be much sweeter:… successfully migrated solution!
taken from : http://www.ellkay.com/Migration.htm
Popularity: 38% [?]
