VBUC generated Errors, Warnings and Issues (EWIs)

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 so they 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 about 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:

  • A message describing the problem
  • A link to the Help topic found in this site

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