When upgrading a project, the Visual Basic Upgrade Companion migrates most of the code and objects from Visual Basic 6.0 to their equivalents in either Visual Basic .NET or C#. There are, however, some items that are not automatically converted, and require manual intervention in order to achieve functional equivalence with the migrated application once the VBUC finishes. The Visual Basic Upgrade Companion helps with this process by inserting different Errors, Warning and Issues information messages (hereafter referred to as EWIs) into the migrated source code as comments.
EWIs are a valuable part of VB6.0 to .NET upgrade efforts. They alert you to potential issues in the application’s code, and provide information on where and how to fix them. EWI comments are placed on the line before the problem, and consists of two parts:
All VBUC EWIs are associated with specific help items that show how to fix the problem. Also, since EWIs are inserted in the code as comments, they don’t affect the compilation or execution of the migrated application.
The purpose of these pages is to provide detailed information about the EWIs generated by the VBUC, along with recommendations based on the experience of our experts on how to solve them. The following chart describes the different types of EWIs generated by the VBUC:
|EWI Type||Description||Example Cause||Comment|
|Issue||Code that will cause a compilation error||The OLEDrag method, which has no equivalent in .NET||Marks items that you need to fix before the program will run.|
|Todo||Code partially upgraded. Require some additional changes||A Variable that contains a fixed-size array.||Require some manual intervention to avoid compilation and runtime errors|
|Warning||Differences in behavior between VB6 and.NET. Code will compile, may present a difference at run time||The “Dir” function. In VB6.0, returns the “.” And “..” directories, but the .NET equivalent doesn’t||Most of the time the code will work fine. Should be reviewed as a precaution|
|Note||Code was changed in a way that may confuse the developer||The VBUC comments out unreachable code and inserts a note explaining why||Normally won’t require user intervention|
|Global Warning||EWIs present on the Upgrade Report only, not to the source code||The VBUC will log an EWI reminding about differences in behavior with data bindings on .NET|