The .NET languages and runtime environment are very different from VB6, for example with VB6 and .NET differ in regards to critical details like null handling, variants, type conversions, date and time variables, color variables, string indexing, object lifetime, and the various services provided by intrinsic functions and objects. A migration support library helps a code designed to run in VB6 work correctly when it is re-implemented for .NET. However, using a migration support library is an option, not a requirement. If you decide to not use a migration support library, you will usually have to rework some of the application code to fit the runtime conventions of the .NET platform. The amount of work required to do this depends on how the legacy code uses VB6 language features and how you intend to make changes for .NET.
During the early stages of an upgrade project, you have the option to have gmStudio generate a stubbed-out version of the MigrationSupport library and integrate it with your project(s). This is similar to the stub classes that can be generated for COM APIs used by your code. Depending on the rules in your upgrade solution, the generated stub codes may be replaced by our sample implementation, or replaced by something else altogether.
Here are some key points about our runtime library:
Using our Runtime Library is NOT a requirement.
Users may configure gmStudio to upgrade their application to .NET code that will reference an external Runtime Libraries of their choosing.
Many teams prefer to minimize dependencies on third-party components. These teams may configure gmStudio to rewrite their applications to use .NET directly, or to use a their own runtime support framework(s).
In our standard methodology, the initial translations do not reference a runtime assembly at all. Instead, gmStudio generates stub classes to satisfy some VB6/COM platform dependencies and integrates the stub classes with code generated from the legacy source. In subsequent phases of the methodology, gmStudio may be configured to automatically replace VB6/COM dependencies with .NET replacements of your choice. These may or may not reference a VB6/COM emulation framework depending on the coding standards of the project.
- A sample Runtime Library is distributed with the gmStudio Trial License
Our sample upgrade solutions use the sample Runtime Library assembly to demonstrate functional upgrade results.
The sample library is distributed as an obfuscated assembly.
The sample library is for evaluation only. It is not a complete VB6 emulation, and some of the members of the sample Runtime Library are stubbed out at this time.
- A copy of the sample Runtime Library source code (C#) is offered with each gmStudio Professional Edition License.
Customers may modify and use the Runtime Library source in their upgraded system if desired.
The sample Runtime Library source distribution is AS-IS with no warranty.
Great Migrations maintains and improves the sample Runtime Library as part of our ongoing product development work.
Great Migrations implements enhancements and bug fixes as requested by the community in the context of our product releases.
- Specific Runtime Library support and development may be purchased with a services/support contract.
Some of the members of the sample Runtime Library are stubbed out at this time. As a result, any application that uses stub methods will not run properly. The stub members must be implemented by the upgrade team in order to make the upgraded application functional.
Great Migrations offers custom product support and upgrade services. If approved in the .NET coding standards for a project, we may use our Runtime Support Library. In those cases, the required subset of our Runtime Library Source is included as a project deliverable.
Ongoing support for upgraded systems, including support for the Runtime Library, may be purchased with a specific support contract.