Introduction

In the following section, you will find a general description of the features available in the VBUC Tool.

What is VBUC?

The Visual Basic Upgrade Companion is a powerful tool that focuses on migrating:

  • Visual Basic 6 to C#

  • Visual Basic 6 to VB.NET

  • ASP to ASP.NET

Key Features

The Visual Basic Upgrade Companion (VBUC) includes powerful features & customization/extensibility options that help you move your code to C# or VB.NET.

VBUC dramatically reduces the amount of manual work and produces native .NET code.

The translated application will compile and run with equivalent behavior to the original VB6 system.

How is VBUC different?

Faced with the need to modernize legacy source code, IT professionals have several choices:

Full manual rewrite

Fraught with risk and problems. Fully 70% of software rewrites fail to meet budget, schedule, or requirements and are considered "troubled" or "failed" projects. Plus, even the best developers create 20 - 50 bugs per 1000 LOC: a 100KLOC project will have 2-5k bugs that must be tracked, analyzed, and fixed.

Wrap and run

Relying on a 3rd party runtime (DLL) to duplicate the VB runtime on a modern .NET platform. If this were a viable solution to the problem, don't you think that Microsoft would have created it first? In reality, this strategy creates a dependency on a 3rd party for your corporate assets as well as inviting future problems.

Lift and shift

Using Microsoft's preferred partner for automated source code migration, convert your existing codebase into a modern language/platform (like C# and .NET Framework/Core), then use that as a point of departure for upgrades and enhancements.

The VBUC is the perfect adjunct to the lift and shift strategy. Unlike simple semantic converters (really just enhanced regular expression editors) or tools that rely on vast complex runtimes, the VBUC uses advanced static code analysis and an extensive library of pattern and component mappings based on years of experience, thousands of migration projects, and literally billions of lines of migrated code.

Below we outline the key technical features for VBUC.

Code Generation

C# or VB.NET

VBUC allows you to upgrade Visual Basic 6.0 source code directly to either C# or VB.NET.

Language Transformations

VBUC performs the most advanced language transformations to generate pure, clean, and readable .NET source code, enabling you to take advantage of its inherent features.

Advanced Code Refactoring

VBUC applies additional transformation rules to generate code that looks as if it was originally written in .NET.

Reference Resolution Between Projects

Save time, human effort, and money by easily upgrading multi-project, complex applications in a single run.

Error Handling Transformation

Eliminate the "On error" and "Go to" statements from your .NET code with just a single click.

Resolve Late Bound Variable Types

All the data-type issues and annoyances are automatically fixed during the automated migration stage.

Extensibility

Switchable Migration Options

Specific transformation techniques can be set through switchable options that are displayed in a Profile Manager window. You can save different upgrade profiles so that you can establish the most appropriate code conversion rules and component mappings for a specific migration process.

Customization and Extensibility

All the specific code techniques and patterns found in your code can be described in the Visual Basic Upgrade Companion's core, including the ability to add or fine-tune existing support for ActiveX controls and libraries.

Support for Additional Customizations

Mobilize.Net can add customizations to the VBUC's migration engine at the user's request. This powerful approach allows highly detailed transformations in the resulting source code, ranging from adding support for a particular unsupported legacy control to its .NET counterpart with specific member handling to defining special handling techniques for complex language patterns to be converted into optimized .NET constructions and so forth.

Component Migration

Third-Party Library Support

The Visual Basic Upgrade Companion is able to upgrade many ActiveX controls found in the original application to inherent .NET components or to newer versions of third-party controls.

Legacy Data Access to ADO.NET

Upgrade data access to ADO.NET automatically with several source-target combination possibilities.

Additional Features

User Environment

Visual Basic Upgrade Companion has an intuitive UI (Upgrade Manager) and Command Line interface designed to make it very easy for you to use the tool.

Windows API Support

Forget the manual changes required after upgrading the Windows API calls and other external DLL calls to.NET.

ASP/VB6 Migration Support

Visual Basic Upgrade Companion allows the migration of mixed ASP and VB6 projects to ASP.NET and VB.NET or C# by seamlessly integrating with the ASP Upgrade Companion.

Free Source Code Helper Classes

Royalty-free .NET source code without most post-migration issues created by the vast amount of differences between VB6 and .NET.

COM Class Exposure

Access your newly generated .NET projects from your "upgrade-pending" legacy controls through COM.

Support for Microsoft Technologies

VBUC is able to generate solutions (.sln) files compatible with Visual Studio 2010 through 2019. The user is able to select the Visual Studio target from a dropdown menu. It also executes on Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, and other Windows 64-bit operating systems.

Automated COM Objects Memory Management

In .NET the memory is released in a different way than VB6, and this can cause different behaviors. For example, in some cases, ADO Connections will remain open for more time than in VB6. This optional feature will generate explicit code to achieve the same behavior.

VBUC Glossary

  • ASP Upgrade Companion: Migrate ASP code to ASP.NET.

  • Assessment Mode: A mode of the VBUC in which the Upgrade and Preprocess options are disabled. This mode can happen when the license is invalid (expired, code lines exceeded) or when it was installed explicitly as the Assessment Mode Version. This mode analyzes the current project to migrate and generates a report to measure the effort required to move your code to .NET.

  • Reference: Reference to another project in the upgrade solution.

  • Sln File: A Visual Studio .NET Solution file.

  • Source Folder: The initial base directory that the user selects when creating a new upgrade solution.

  • Unresolved Reference: When the referenced component could not be found or the necessary information could not be retrieved.

  • Upgrade: Performs preprocess and upgrade phase.

  • Upgrade Solution: The solution files that VBUC works with. It stores the information of all the VB6 projects found in the source code folder. The file extension is .VBCSln.

  • .VBCSln: Mobilize.Net Upgrade Solution file.