Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I will be migrating several VBA applications currently in ArcMap 9.3.1 to Visual Studio 10 in the near future, and wanted some feedback on the general migration steps listed below. I wanted to make sure that I did not miss any critical steps and that the order of the steps is correct.

1.) Run the ArcGIS Code Converter tool to update old Object names.

2.) Create a Visual Basic project and add all the mxd specific modules, and classes to the new VB project. Re-create any forms or command buttons that existed in VBA.

3.) Run Code Advisor for Visual Basic 6.0.

4.) Open the VB project in Visual Studio 10 and run the Visual Basic Upgrade Wizard.

5.) Manually update any common dialogs, MsgBox, and Win32 API code sections.

6.) Add ESRI references and libraries.

7.) Register new Visual Studio dll.

Here are some website references that I have used so far.

Migrating VBA/VB6 ArcObjects Applications to .NET

How to migrate from VB6 to VB .NET (wiring events)

ArcGIS Application Migration: Using the Visual Studio 2008 Upgrade Wizard

Thank You

share|improve this question
up vote 2 down vote accepted

Also the registration of DLLs has changed in version 10.0, if you have any issues then these two links may help you:

About EsriRegasm:

Adding EsriRegasm to your build:

Click on the ESRIRegAsm link on the above page

share|improve this answer

For prototyping or checking parts of your VB.Net code run your code as a script in the .Net Scripting Tool for ArcMap.

The tool is also useful if you want to keep your code in the MXD (like you were used to with VBA) and/or if you don't want to use Visual Studio.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.