Porting a .bas file to vb.net

12.5k views Asked by At

I'm working on some legacy VB5/VB6 code and need to convert a ".bas" file to vb.net.

I found several options

  1. Compile the .bas file into a com dll and then reference and use it in my project. (For this I guess I would need vb5 or vb6 which I don't have at my disposal)

  2. Copy and paste the contents of the file in to a new module in vb.net and then try solving the errors one by one.

The contents of the .bas file reference a particular dll. The .bas file has mostly declarations consts, types, sub's and functions.

What would be the most elegant way of redoing this in vb.net. Is it as simple as option 2.

EDIT

I used VS2008 express and ran the code through the upgrade wizard it did the necessary conversion. and the .bas file was converted to .vb. I took that file and decided to rewrite other parts of the code, including some redoing of the converted .vb file.

Other questions related to this one are here.

3

There are 3 answers

0
mmmmmm On

Microsoft provide guidance on what to do including an app that attempts to convert VB6 code to .NET

This includes both your solutions except 2 is helped by the converter.

It depends on how complex the VB6 code and what it does.

However if you are going to have to support and change the VB6 code it would probably be worth doing the conversion now.

3
xpda On

There are a lot of advantages to converting to vb.net -- compatibility with future (and possibly current) systems and maintainability being the most important. The main advantage to leaving it as a dll would be to save development time, but this could backfire if there are future compatibility problems.

If the code is in a VB6 project now, or if it can be added to one, you can open the .vbp project file with vb.net and it will it asks if you would like to automatically convert it to vb.net. It does a pretty good job, exclusive of third party add-ons.

2
Konrad Rudolph On

Consider rewriting as an alternative. In my experience, this makes less work in the long run than either relying on an opaque COM library or using the VB6 migration wizard and picking up the pieces it spits out.

Depending on your knowledge of .NET, the rewrite of a single VB6 module shouldn’t take very long. If you are freshly starting with .NET then this may take longer but it will also provide good opportunities to learn .NET.