Visual Basic .NET Technology Map
Abortable Thread Pool
The Analytic Hierarchy Process
API Test Automation in .NET
Asynchronous HttpWebRequests, Interface Implementation, and More
Bad Code? FxCop to the Rescue
Basics of .NET Internationalization
Behind the Scenes: Discover the Design Patterns You're Already Using in the .NET Framework
BigInteger, GetFiles, and More
Binary Serialization of DataSets
Building Voice User Interfaces
Can't Commit?: Volatile Resource Managers in .NET Bring Transactions to the Common Type
CLR Inside Out: Base Class Library Performance Tips and Tricks
CLR Inside Out: Ensuring .NET Framework 2.0 Compatibility
CLR Inside Out: Extending System.Diagnostics
CLR Profiler: No Code Can Hide from the Profiling API in the .NET Framework 2.0
Concurrent Affairs: Build a Richer Thread Synchronization Lock
Custom Cultures: Extend Your Code's Global Reach With New Features In The .NET Framework 2.0
Cutting Edge: Collections and Data Binding
Const in C#, Exception Filters, IWin32Window, and More
Creating a Custom Metrics Tool
DataSets vs. Collections
Determining .NET Assembly and Method References
Experimenting with F#
File Copy Progress, Custom Thread Pools
Finalizers, Assembly Names, MethodInfo, and More
Got Directory Services?: New Ways to Manage Active Directory using the .NET Framework 2.0
High Availability: Keep Your Code Running with the Reliability Features of the .NET Framework
How Microsoft Uses Reflection
ICustomTypeDescriptor, Part 2
ICustomTypeDescriptor, Part 1
Iterating NTFS Streams
JIT and Run: Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects
Lightweight UI Test Automation with .NET
Low-Level UI Test Automation
Make Your Apps Fly with the New Enterprise Performance Tool
Managed Spy: Deliver The Power Of Spy++ To Windows Forms With Our New Tool
Memory Models: Understand the Impact of Low-Lock Techniques in Multithreaded Apps
Microsoft Java Virtual Machine Update
Microsoft .NET Framework Delivers the Platform for an Integrated, Service-Oriented Web, Part 2
Mini Dump Snapshots and the New SOS
Mutant Power: Create A Simple Mutation Testing System With The .NET Framework
NamedGZipStream, Covariance and Contravariance
.NET Internationalization Utilities
.NET Profiling: Write Profilers With Ease Using High-Level Wrapper Classes
No More Hangs: Advanced Techniques To Avoid And Detect Deadlocks In .NET Apps
The Perfect Host: Create and Host Custom Designers with the .NET Framework 2.0
Phoenix Rising
Scheme Is Love
Security Enhancements in the .NET Framework 2.0
Sepia Tone, StringLogicalComparer, and More
Software Testing Paradoxes
Stay Alert: Use Managed Code To Generate A Secure Audit Trail
Stream Decorator, Single-Instance Apps
StringStream, Methods with Timeouts
Tailor Your Application by Building a Custom Forms Designer with .NET
Test Harness Design Patterns
ThreadPoolPriority, and MethodImplAttribute
ThreadPoolWait and HandleLeakTracker
Three Vital FXCop Rules
A Tidal Wave of Change
To Confirm is Useless, to Undo Divine
Touch All the Bases: Give Your .NET App Brains and Brawn with the Intelligence of Neural Networks
Transactions for Memory
Trustworthy Software
Tune in to Channel 9
UDP Delivers: Take Total Control Of Your Networking With .NET and UDP
UI on the Fly: Use the .NET Framework to Generate and Execute Custom Controls at Run Time
Unexpected Errors in Managed Applications
Unhandled Exceptions and Tracing in the .NET Framework 2.0
Using Combinations to Improve Your Software Test Case Generation
Wandering Code: Write Mobile Agents In .NET To Roam And Interact On Your Network
What Makes Good Code Good?
XML Comments, Late-bound COM, and More
Collapse the table of content
Expand the table of content

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:

© 2016 Microsoft