Web resources for migrating from VB6 to VB.NET


Summary
There are several resources available on the Internet for developers with Visual Basic 6 (VB6) custom components who want to migrate to Visual Basic .NET (VB.NET). This topic provides a central location to many of these resources that ArcGIS developers can use as a starting point in their migration process.


General Microsoft resources

Microsoft is the author of VB6 and VB.NET, and the authoritative source on issues for migrating from VB6 to VB.NET. Microsoft has provided several resources on the Internet to help developers in their migration process. The following is a list with a brief description of some of the most important resources that Esri developers have found to be useful:

ArcGIS specific resources

ArcObjects is one of the largest Component Object Model (COM) based applications built. As such, there are unique programming practices in ArcObjects that need special consideration when migrating from VB6 to VB.NET. The following list with a brief description provides resources that are unique to ArcGIS developers in this migration process:
  • Migrating VB6 to VB.NET for ArcGIS 10—A topic that provides a comprehensive update process of migrating a basic ArcMap command from VB6 to VB.NET. Emphasis is on the mechanics of the conversion process, creating a functionally equivalent VB.NET project from the original VB6 version, then improving the VB.NET project to take advantage of .NET coding best practices. Two options using the ESRI Visual Studio Integration tools are demonstrated to advance the code. The first option uses the ESRI base class features and the second option uses the ESRI add-in feature that began with ArcGIS 10. This topic and corresponding code examples are relevant for migrations from VB6 to ArcGIS 10.
  • How to migrate from VB6 to VB.NET (copying table selection)—A 44 minute video, corresponding sample code projects, and corresponding topic that focuses on migrating a simple ArcMap command from VB6 to VB.NET. Discussions, such as how to create a command using inheritance versus polymorphism, as well as overriding the enabled property will be discussed as one migrates from VB6 to VB.NET. These resources are relevant for migrations from VB6 thru ArcGIS 9.3.
  • How to migrate from VB6 to VB.NET (wiring events)—A 39 minute video, corresponding sample code projects, and corresponding topic that focuses on migrating a moderately complicated ArcMap command from VB6 to VB.NET. Discussions of handling the command's image, interacting with a user created Windows form, and wiring up events are discussed as one migrates from VB6 to VB.NET. These resources are relevant for migrations from VB6 thru ArcGIS 9.3.
  • ArcGIS Application Migration: Using the Visual Studio Upgrade Wizard—A six minute video on ESRI's Media Gallery that demonstrates how to best use the Microsoft Visual Studio Upgrade Wizard for migrating an application project from VB6 to VB.NET. This video is relevant for migrations from VB6 to ArcGIS 9.3.
  • ArcGIS Application Migration: Converting Commands from VB6 to VB.NET—A seven minute video on ESRI's Media Gallery that demonstrates how to convert a command class that implements ICommand from a VB6 project to a .NET project using Visual Studio. This video is relevant for migrations from VB6 to ArcGIS 9.3.
  • Common VB6 to VB.NET conversion issues—A Microsoft Word topic that has some common issues that developers can encounter when upgrading from VB6 to VB.NET (it is a work in progress, as more issues are discovered, they will be added). One way to use this topic is to perform a keyword search on VB.NET error or VB.NET warning messages received when using the default Visual Studio VB6 to VB.NET upgrade wizard, to get an idea of things to consider in correcting the code. This topic is relevant for migrations from VB6 to ArcGIS 9.


See Also:

Migrating from VB6 to VB.NET
General steps for migrating from VB6 to VB.NET




Development licensing Deployment licensing
ArcGIS for Desktop Basic ArcGIS for Desktop Basic
ArcGIS for Desktop Standard ArcGIS for Desktop Standard
ArcGIS for Desktop Advanced ArcGIS for Desktop Advanced
Engine Developer Kit Engine