I know, it's been a long time since my last post, which followed version 1.34, the first release that officially supports ADODB-to-ADO.NET conversion.

I have a good excuse for this absence, though: we have been working hard on the next major release VB Migration Partner, which will include support for VB6-to-C# migration. We are very excited about this new great feature, and look forward to releasing the first beta release to our registered users.

Converting VB6 to C# is way more complex than converting to VB.NET. Here are just a few of the VB6 features that require special treatment under C#:

  • Late-binding calls
  • On Error Goto, On Error Resume Next and Resume
  • Option Strict Off
  • Modules and global variables
  • Static local variables inside methods
  • With...End With blocks
  • Select Case blocks (C# switch blocks don't allow <, <=, >, >= and TO operators)
  • ref/out optional parameters (C# only supports by-value optional params)
  • Date constants and optional Date parameters (both are unsupported under C#)
  • Multiple default properties with arguments (C# only supports one indexer per class)
  • WithEvents variables
  • #IF and #ELSEIF blocks (C# doesn't support operators in compile-time expressions)
  • ... and counting

The good news is that VB Migration Partner will be able to correctly migrate all these features (and many others) and will generate code that contains fewer compilation errors and is more efficient than any other VB6-to-C# converter, including those that have been on the market for years.

VB Migration Partner also leverages the C# features that are missing in VB.NET, for example it generates out parameters instead of ref parameters when possible and can emit both explicit and implicit interface implementations, a choice that no other tool provides. As for all other VB Migration Partner features, and unlike other migration products, these options can be controlled via pragmas at the solution, project, file, and method-level, thus you can always generate that C# code that matches your programming style.

We don't have an exact release date yet, but we hope it to be "very soon". Just stay tuned!