Optimize Your VB6 to .NET Automatic Migration

Organizations that rely on applications created in Visual Basic 6.0 are now facing the end of official support for this programming language, with .NET becoming the development environment of choice.

If you’re planning on converting from VB6 to .NET, you need a tool that will substantially increase the percentage of automation of your VB migration. Well, look no further! The ArtinSoft Visual Basic Upgrade Companion is the Enterprise Edition of the Microsoft Upgrade Wizard created with ArtinSoft Freedom® Technology, designed specifically to make the VB6 to .NET migration process as quick, easy, and painless as humanly possible.

ArtinSoft’s Visual Basic to .NET migration tool contains several productivity enhancements that will simplify your VB6 to .NET migration process and will reduce its cost and risk by eliminating much of the need to manually rewrite previous unsupported VB6 code when moving to either VB.NET or C#.NET. The Visual Basic Upgrade Companion is sold and supported by ArtinSoft, with pricing determined basically by the size of the application source code to be migrated from VB6 to .NET.

Visual Basic Upgrade Companion 2Key Features:

ArtinSoft just released version 2.0 of the Visual Basic Upgrade Companion tool, which delivers highly increased upgraded code quality, introducing a brand new GUI, seamless integration with Visual Studio 2008, mixed ASP/VB6 migration handling, support for a lot of new third-party controls, and many other features that allow to reduce even further the manual effort required to convert and compile your VB6 code to .NET.

These are some of the unique characteristics of the Visual Basic Upgrade Companion:

Feature Description

Upgrade Manager

The Visual Basic Upgrade Companion sports a dashing GUI and Command Line interface oriented to improve its usability and user experience, boosting the administration and control capabilities over the code and the VB6 to .NET migration process. For example, it simplifies the conversion of multi-project applications, and allows setting up migration profiles, through which the user can select and apply only those features or translations required for a specific conversion.

C# Generation

The Visual Basic Upgrade Companion is able to generate C# directly from the Visual Basic 6.0 source code. Since there are several VB6 features not available in C# (i.e. Optional Parameters), the Visual Basic Upgrade Companion performs some special conversion for these features. The tool contemplates aspects like declarations and typing, error handling, conversion of modules to classes, events declaration and invocation, indexer properties, case sensitive corrections, brackets generation for array access, variable initialization, and much more.

ADO to ADO.NET

The Visual Basic Upgrade Companion converts the data model from ADO to ADO.NET, either using the SQL Client namespace or the interfaces defined in the System.Data.Common namespace. Using the latter will allow your migrated application to connect with most major databases that support these interfaces in their .NET data provider.

Type inference

The Visual Basic Upgrade Companion infers the most appropriate data types for variables, functions, fields, parameters, etc., and returns values, avoiding the use of "generic" data types (i.e., Object). When an Object variable is found the Visual Basic Upgrade Companion declares the variable with the appropriate type and avoids unnecessary EWIs (*)

Error handling replacement

The Visual Basic Upgrade Companion converts unstructured to structured code, which reduces the presence of spaghetti code and improves code maintainability and evolution.  This includes the transformation of frequently used patterns related to error handling. For example, the Visual Basic Upgrade Companion recognizes “On Error Goto” and “On Error Resume Next” constructs patterns and replace them with the .NET “Try-Catch” structure. It also performs “Goto” removals.

.NET Native Libraries instead of Visual Basic Compatibility Libraries

Instead of upgrading the Visual Basic 6.0 code using the Visual Basic Compatibility Libraries, the Visual Basic Upgrade Companion promotes the use of .NET native libraries when possible.

Visual Basic 6.0 constants and numeric literals  to .NET enumerations

The Visual Basic Upgrade Companion replaces numeric literals assigned to control properties to NET enumeration equivalents when possible so that the generated code is more legible and maintainable.

Code Refactoring

When converting from VB6 to .NET, the Visual Basic Upgrade Companion does further code analysis to detect patterns that can be migrated to more .NET native structures. These additional patterns include:

  • Some "if else if" constructs are upgraded to "switch" construct in order to improve performance and use best programming practices (IF ELSE IF structures to SWITCH).
  • VBUC uses "return" instead of function name to set the return value
  • Upgrade Collections to ArrayList or HashTable depending on the usage (
  • Collections to ArrayList or HashTable).
  • Use "for...each" construct instead of an iteration variable (Use For...Each statement instead of a iteration variable)
  • Move initialization values to the variable declaration
  • Typical nested "if" statements used in VB6 to produce short circuit evaluation are upgraded to a single "if" statement with short circuit evaluation operators.

ASP/VB6 migration support

ArtinSoft’s Visual Basic Upgrade Companion allows the migration of mixed ASP and VB6 code to ASP.NET and VB.NET or C#.

Helper Classes

The helper classes facilitate the achievement of functional equivalence during the VB6 to .NET migration process and increases readability of the converted code. These classes offer frequently used VB6 functionality that is either unavailable in .NET and/or that is encapsulated for the sake of readability.

No-maps

ArtinSoft’s VB6 to .NET migration tool incorporates automatic stub generation of no-maps as a proven strategy to manage overall remaining effort towards successful compilation of upgraded code.

Upgrade of new controls

The Visual Basic Upgrade Companion upgrades additional commonly used ActiveX controls to Windows Forms controls that offer similar functionality, including:

  • Microsoft XML
  • COM+ Services Type Library
  • App.StartLog
  • App.LogEvent
  • Windows API functions
  • Windows Common Control Library:
    • RichTextBox
    • ToolBar
    • StatusBar
    • ProgressBar
    • TreeView
    • ListView
    • ImageList
  • DtPicker
  • Printer Object
  • Printer Object Collection

Dead private methods

When you convert your VB6 application to .NET using the Visual Basic Upgrade Companion, the tool identifies dead private methods, marking and commenting them out, saving valuable time from the migration process.

(*) EWIs: Errors, Warnings and Issues found during migration

The Visual Basic Upgrade Companion includes technical support and training that ranges from a basic web tutorial to a complete on-site hands-on lab for more complex VB6 to .NET migration projects. It doesn’t matter if you have 10,000 or 1,000,000 lines of code to convert from VB6 to .NET; there’s a package for every need. So contact us now to learn about the different licensing options for our Visual Basic Upgrade Companion!
On the other hand, if you are looking for the top migration experts available in the market to help you convert your applications from VB6 to .NET, take a look into our consulting offerings, through which we offer a comprehensive solution that covers all the stages of a migration process.