Has any work gone in to a framework for extending mono-VB?
edited, as I understand this problem better. sorry for confusing VB.NET and VBA earlier
I am exploring the viability of taking a large VBA codebase (hosted in Excel) and migrating it to embedded Linux as compiled code (vbnc). Our app as currently architected on Windows makes use of the ability to extend VBA via Microsoft COM. We have C#.NET classes and unmanaged C++ classes that are accessible this way.
I understand that the mono vbnc does not support accessing external libraries via COM. What other ways are there to access external code?
From Rolf's initial answer, there seem to be two: 1) use P/Invoke to access external Linux libs. I'll experiment with this. 2) rewrite components as managed code.
It seems maybe the best solution given my C# / C++ mix might be to use both. But I am not clear of the mechanics of #2 above. Is it possible to point to an example or elaborate? I see lots of examples on how to use P/Invoke.
Thanks again, in advance!
It is not possible to run COM/OCX components on Linux, so VB.NET cannot support this.
You have two options if you want to run on Linux and you're currently COM/OCX:
Find native Linux libraries that does the same as your existing COM/OCX libraries, and then use those libraries from VB.NET (you would need to use P/Invokes to bind to the native libraries).
Rewrite the COM/OCX components as managed code.