We recommend using Visual Studio 2017

Visual Basic .NET Technology Map


The Microsoft® Visual Basic® .NET Technology Map is your guide to getting starting with Visual Basic .NET. This new version of the popular programming language is more powerful than ever, and is your tool to leverage the possibilities of the Microsoft .NET Framework.

For a list of all our new .NET content, please visit the .NET Six-Week Series Guide.


Getting Started
Introducing Visual Basic .NET
Accessing Databases with ADO.NET
Upgrading from Visual Basic 6.0
Developing with Windows Forms
Creating ASP.NET Applications Using Web Forms
Exploring Advanced Topics

Getting Started

Before you can start coding, you will need to obtain a copy of Visual Basic .NET, which you can accomplish either through Microsoft Visual Studio® .NET or through the .NET Framework SDK. MSDN subscribers should receive Visual Studio .NET with their February 2002 set of DVDs, or they can download the product directly from our Web site right now. If you are not an MSDN subscriber, then check out the Visual Studio home page page for information on pricing and availability.

.NET Framework

Visual Studio .NET is a development environment, but it is built on and for the .NET Framework. The .NET Framework provides, through a set of class libraries, the functionality used by all of the .NET languages, including Microsoft Visual C#™ and Visual Basic .NET. Also underlying these languages is a set of runtime services, called the common language runtime, which manages the execution of code produced out of any and all .NET languages. For detailed information, see:

The .NET Framework is also available separately from Visual Studio .NET. So, if you do not have Visual Studio .NET, or if you want the smallest download possible to get started exploring .NET development, the .NET Framework SDK is for you:

Introducing Visual Basic .NET

Visual Basic has been around, in various forms, for many years and has become one of the most popular programming languages available. Over time the language has evolved, with each successive version adding, removing, or modifying some aspect, but Visual Basic .NET is by far the most significant change to occur to Visual Basic yet. To prepare for programming in this new language, read up with some general overview articles:

Accessing Databases with ADO.NET

In Visual Basic 6.0, database connectivity was handled through the Microsoft ActiveX® Data Objects libraries (ADO), and that set of libraries has evolved into a completely new version for .NET development. Although many of the underlying concepts are the same (including support for OLE DB data providers), ADO.NET is a completely new way to access data as compared to ADO. If you are coming from an ADO background, the following articles should help you with the transition:

In addition to content directed toward users of ADO, MSDN contains many good articles on ADO.NET that apply regardless of your background. These articles, combined with the documentation that installs with the .NET Framework, provide excellent coverage of this new data access technology:

Upgrading from Visual Basic 6.0

There are three main issues for developers who are moving from previous version of Visual Basic to Visual Basic .NET:

  • Upgrading existing code,
  • Interoperating with existing code, and
  • Upgrading their skills

Upgrading Existing Code

Moving from one development platform to another is a major undertaking, and if that move can be made gradually the chance of failure is greatly reduced. Teams that are already part way into a project using Visual Basic 6.0 may not want to switch tools midway through a development cycle, but they can still do quite a bit to make any future migration as painless as possible. Guidelines for preparing Visual Basic 6.0 code for eventual movement to Visual Basic .NET are covered in the following article:

Once a conversion is underway, MSDN provides several good documents that detail how early versions syntax, objects, and technologies can be moved forward to .NET. A good starting point is the Visual Basic .NET Upgrade Guide, a list of white papers and presentations all focused on helping you upgrade from previous versions of Visual Basic. Some articles/presentation of particular interest include:

  • Migrating from Visual Basic 6.0 to Visual Basic .NET

    This section includes articles and seminars chosen to help you get the most out of the .NET Framework and Visual Basic .NET. The articles primarily focus on the Visual Basic developer, but many also apply to the C# developer.

  • Differences between Visual Basic 6.0 and .NET Controls

    Although it is possible to use ActiveX controls in .NET, controls are implemented very differently within .NET. This article guides you through those differences and provides suggested migration strategies.

  • (Presentation) Introduction: Visual Basic 6 to .NET Upgrade

    This presentation introduces you to the Visual Basic .NET Upgrade Wizard, the process of upgrading an application using the wizard and the type of output produced.

Interpretability with Existing Code

Moving to a new development platform cannot always be done in one single pass, so there will be a need to leverage existing application components from .NET, and to access new .NET applications from existing software. COM is often the key to this interoperability, as Visual Basic 6.0 could create COM (ActiveX) objects, and .NET is capable of using these COM components. Going the other way, .NET objects can be exposed with COM interfaces, so that existing development platforms that support COM can communicate with your new development. More detail on COM interoperability, in both directions, can be found in the following article:

Upgrading Development Skills to Visual Basic .NET

A Visual Basic 6.0 programmer has a jump-start on Visual Basic .NET; the two versions have many differences but they are still essentially the same language. A familiarity with any older version of Visual Basic is a great asset in learning Visual Basic .NET, but there are a few key skill areas on which to focus. The first of these is object-oriented programming (OOP). OOP is certainly not new, and most Visual Basic programmers are very familiar with the general concepts of classes and objects that form the basis of OOP, but Visual Basic .NET takes these concepts further than any previous version. Now, due to the magic of the common language runtime, all of the .NET languages support a common set of OOP features, such as inheritance, interfaces, overriding and overloading procedures, and more. To get up to speed on all these concepts and how they work in this new version of Visual Basic, check out the following articles:

Other key areas that require focus include security, remoting, and Web services:

Developing with Windows Forms

The technology for developing rich client interfaces has changed considerably from Visual Basic 6.0 to .NET. The underlying technology used in .NET to create and manage a rich client interface is known as Windows Forms, and it is a powerful successor to the interface tools of previous development environments. This new interface engine includes layout features like docking and anchoring of controls, and improved graphics support, including transparency, shaped Forms, and more. There is a wealth of information on MSDN about Windows Forms, including these introductory materials:

Creating ASP.NET Applications Using Web Forms

In the successor to ASP, ASP.NET, programming for the Web has been structured to be as similar as possible to development for Microsoft Windows®, through a new type of interface called Web Forms. Web Forms, which is just another name for a Microsoft ASP.NET page, support a similar event-driven model to Windows Forms and to previous versions of Visual Basic. There is still a lot to learn, though, about how these Web Forms work, how they can be deployed, and how to migrate to this new model if you had previously been doing ASP development.

Exploring Advanced Topics

Many of the more advanced new features of Visual Basic .NET are really features of the underlying .NET Framework, not of this specific programming language. Regardless, these features of the .NET Framework add a great deal of power to Visual Basic .NET, and need to be carefully understood so that they can be used correctly. The list of useful functionality in the .NET Framework is much too long to be listed here, but some of the more commonly used features are delegates, multithreading, and asynchronous execution. Each of these features is covered in the .NET Framework SDK: