Question

Is it possible to use a VB6 class in C#?

Was it helpful?

Solution

I think you should just be able to add the library that contains your VB6 type as a reference in your C# project. Visual Studio will create an Interop Assembly on the fly, and you'll get access to all of the types in the VB6 library via Runtime Callable Wrappers.

The tool that creates the Interop Assembly is TLBIMP.EXE, and you can run this yourself if you want more control over the process, eg. if you want to create a Primary Interop Assembly that might be shared by multiple managed components.

OTHER TIPS

You can use a compiled VB6 dll in a C# program by using COM Interop.

https://stackoverflow.com/questions/tagged/interop

As @Wayne states in his post (+1) it is absolutely possible.

I would go for a rewrite of your VB6 class:
If you have the VB6 source and the funding, I would recommend you to rewrite the class in C#.
Although VB6 may live forever :
Current support Statement for Visual Basic 6.0

Sure, you just need to make it a COM object.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top