Guest Author: Microsoft
This document provides recommendations for developers using Microsoft™ Visual Basic© who are planning to upgrade their applications to Microsoft Visual Basic.NET.
Visual Basic.NET will open and upgrade Visual Basic 6.0 projects to Visual Basic.NET technologies, but in most cases you will need to make some modifications to your projects after bringing them into Visual Basic.NET. The purpose of this document is to recommend how to design and implement your current Visual Basic projects to minimize the number of changes you will need to make when they are upgraded to Visual Basic.NET. Where appropriate, we use new language constructs; however, this document is not intended to be a Visual Basic.NET language reference.
This document covers:
- What Is Visual Basic.NET?
- Why Is Visual Basic.NET Not 100% Compatible?
- Upgrading to Visual Basic.NET
- Working with Both Visual Basic 6.0 and Visual Basic.NET
- Architecture Recommendations
- Browser-based Applications
- Client/Server Projects
- Single-tier Applications
- Variant to Object
- Integer to Short
- Property Syntax
- Visual Basic Forms to Windows Forms
- Upgrade Report and Comments
- Programming Recommendations
- Use Early-Binding
- Use Date for Storing Dates
- Resolve Parameterless Default Properties
- Avoid Null Propagation
- Use Zero Bound Arrays
- Use Constants Instead of Underlying Values
- Arrays and Fixed-Length Strings in User-Defined Types
- Avoid Legacy Features
- Windows APIs
- Considerations for Forms and Controls
Read the document: Preparing Your Visual Basic 6.0 Applications for the Upgrade to Visual Basic.NET
Note Visual Basic.NET is still in development; some compatibility details may change before the product is released. Following the guidelines in this document does not guarantee your code will not require changes; instead the guidelines aim to reduce the amount of work needed for conversion.
The upgrade wizard and command-line upgrade tools in Visual Basic.NET are still in an early stage of development and, as such, their functionality is limited. The purpose of including them in the Beta release is to give you a feel for how the upgrade process will work and to see how VB 6.0 code is modified to work in VB.NET; in Beta1, most real-world projects probably cannot be migrated successfully.