In a C++ project, I need to call a C# created COM object (as a .dll)

Is there a way to use such a COM object without having it be registered in the registry?

The C# COM dll is just a "go between" our C++ code and a .NET library, there's no "COM contract" of any kind, the COM interfaces change each version. The fact it's COM and needs registration is annoying because it makes it hard to have multiple versions of our software installed (needed under some circumstances) and running at the same time.

Ideally, I'd like a way to not have any registration at all. And just be able to do a LoadLibrary("c:\\TheRightPath\\com.dll") of the right dll and then get going from there. Is this doable (and how) ?