Consider the following scenario: you have a VB6 project group (TestGroup.vbg) containing an ActiveX DLL (TestDll.vbp) and a Standard EXE project (TestExe.vbp), and the Standard EXE project has a reference to the ActiveX DLL project (not to the compiled DLL).
Next, let’s suppose that you migrate TestDll.vbp to VB.NET, compile it, and finally migrate TestExe.vbp (in this case you need an AddLibraryPath or ImportTypeLib pragma to let VB Migration Partner where the compiled DLL is located).
In this scenario, VB Migration Partner is unable to correctly interpret the reference to the DLL, because the TestExe.vbp file contains a reference to the VB6 source project, not to the compiled VB6 DLL. There are two solutions to this problem:
- You migrate the project group TestGroup.vbg in one operation, instead of migrating the two projects separately
- You modify TestExe.vbp to reference the compiled VB6 DLL instead of referencing the TestDll.vbp project in source code format.