We are taking steps to upgarde our very large project to from VC++ 6.0 and VB 6.0 to .Net. One of the first steps was to replace a COM module with .Net assembly. To avoid having to rewrite the many calling programs, the COM module was also rewritten as a thin wrapper around the .Net libary.
The COM object (written with VC++ 2008), which is a thin wrapper around a .Net assembly (C# 2008, .Net 3.5) runs correctly from a C++ 6.0 host program but will not load from a VB 6.0 host program, immediately producing a "Version 2.0 is not a compatible version" error instead.
Any ideas why the language of the host program matters and what causes a "Version 2.0 is not a compatible version" error?
Even a better description of a "Version 2.0 is not a compatible version" error could be helpful.