I'd appreciate some advice on how to access legacy C++/Win32 libraries
from C#. We have a legacy Win32 application, mostly written in VC7.1,
and we want to re-write the GUI and maybe some business components in
C# (personally, I don't see the need,but the decision has been made).
We still want to keep a sizeable part of the libraries and utilities as
native Win32 libraries.
>From the research I've done so far, I think these are the 4 choices wecan choose from. I'm thinking of proposing 2) for the most
performance-critical interop, 3) for native business components we
don't want to re-write in C# and 4) for the numerous native Win32
general utilities we have.
1) Build native libraries with /clr switch using VC7.1, then access
from C# as .NET assemblies
2) Build native libraries with /clr switch using VC8.0, then access
from C# as .NET assemblies
3) Package native libraries as COM servers and access from C# using COM
Interop service
4) Package native libraries as Win32 DLLs and access from C# using
P/Invoke service
Would be great if someone can offer some advice or references to assist
with the decision we have to make.
Best Regards
Peter