Support Statement: Upgrading .NET interop dependencies

In general, .NET interop dependencies use the "identity replacement" strategy. That is: the new .NET application codes are translated so they reference the .NET components directly rather than using interop to the COM callable wrapper (CCW).

This is typically a "like-kind exchange" and fairly simple strategy to implement.  It really falls under the domain of standard build work. The only time it requires any special analysis is if you were doing some things like calling overloaded functions or using COM-specific symbol names in the VB6 code.

The main task is to make sure we have current source code for these .NET components.

Another challenge with these types of dependencies is that we do not have a good way to generate Interface Description Files (IDFs) from weakly typed .NET wrapper TLBs.  In some cases, these TLBs are very weakly typed with nothing more than type names and not members present.  This results in CallByNames for references to members in these libraries.  In these cases, we need to create a hand-coded IDF and manually add member information by hand.

 

 

Â