Has anyone migrated a VB6 project to .Net with Visual Studio 2010?
I have tested the migration in VS2005, but the resulting .Net code was so messed up, that we decided n
As many have pointed out, I very much doubt there will have been much more work done on the VB6 upgrade wizard. The VB6 upgrade wizard in Visual Studio is actually a cut down version of ArtinSoft's Visual Basic Upgrade Companion.
Upgrading a non-trivial VB6 application is a fairly time consuming task but there are a number of great articles such as this one that can help smooth out the road for you:
Refactor Your Way to Migration Success (VSM)
A combination of good methodology and professional tools such as those by ArtinSoft and Code Architects will hopefully make for a successful result.
Visual Studio 2010 no longer ships a Visual Basic 6 migration wizard tool as mentioned here in the top paragraph. This page links to a list of suggested 3rd party VB6 migration tools.
Visual Studio conversion of VB 6 is spotty at best, due to some of the fundamental language changes. You might find better success looking at a third party tool like VBMigration Partner
Since VS2010 is still in Beta, it's hard to say how the final product is going to perform. Right now, it looks like the Migration code is still a little rocky.
I'm going out on a limb and saying that VS2010 isn't going to be any better at importing something as old as a VB6 project than previous versions. Chances are, no matter what happens, you're going to have to re-write a significant portion of that application to get any benefit out of .NET anyway.
It certainly hasn't in 2008 and I'd be very surprised if it's any different in 2010.
VB6 and VB.net are totally different languages, and MS has never officially endorsed an automatic migration route for anything beyond simple applications. The migration path is non-trivial. There are several companies around that offer migration services, I haven't tried them but my advice would be manage it yourself.
We currently have several apps that are written largely in VB6. Our position is that existing working code is not migrated to .net without a good reason, but all new code must be written in .net (We've actually chosen C#)
What this means is that if we want to add a new feature to an existing VB6 app the feature must be implemented in .net with some interop. Gradually over time are apps are becoming more and more .net and less and less VB. We have 1 app that just has a tiny VB6 component now and the rest is almost entirely in .net thanks to this gradual migration approach. It has worked very well for us. Once we reach a stage where the VB6 portion is minimal, we simply manually convert the remaining code without high cost because there is only a tiny bit left.
I would seriously doubt it, VB10 has not introduced any features from VB6 that were not present in VB7, 8 or 9, so there would be no new reasons for them to update their (arguably inadequate) upgrade wizard that did not exist in 2005.