The number of generated EWIs depends entirely on your programming style and the size and type of files that make up migrated application. As a rule of thumb, forms usually have more issues than classes and modules. This is caused because forms have a richer object model and significant transformations must be applied when performing the upgrade to Windows Forms.
The best approach to dealing with EWIS is to get the application to compile and run as quickly as possible, leaving the runtime differences, non-critical work, and improvements until later. This requires fixing compilation errors and ToDo EWIs first.
A way to make this work is to use Visual Studio’s Task List. You can filter the Task List to show all the EWIs and compilation errors or to show only the compilation errors. Start by filtering by compilation errors only. Once the project is running, you can start applying fixing runtime errors related to EWIs.
For each EWI, it is better that once a problem is fixed, have the EWI in the code to prevent it for showing up in the Task List. This ensures that the Task List shows an accurate list of remaining issues.
This section shows the recommended steps to fix an error related to both EWIs and other migration errors: These are:
The fix step to fix an error is to locate the specific line or section of source code that is causing the problem. For a Compiler Error is very simple because the Visual Studio compiler will show you the line of code directly. For a Runtime Error, however, this task has additional complexity.
A good process for finding these is to:
The next step is to understand, in the original VB6 application, the actual functionality of the section of the code causing the problem. The following activities can be performed to understand de original behavior:
Once the functionality of the original VB6 application is understood, the next step is to replicate the same functionality in the migrated .NET application. Some recommendations for this are:
The following process should work as a guideline to actually fix the code in .NET with the solution identified in the previous step. It consists of the following activities:
Once the problem is resolved, it is important that the solution is properly documented and stored in a shared knowledge base so other developers that run into this issue are able to access it. This documentation should include the following information: