I am creating a new app in .NET (VS 2005, C#). A good amount of the
underlying code (structures, classes, etc) produced for this project
must also be accessible in old unmanaged apps (VS6, C++). Obviously, I
do not want to write seperate code for both apps. Note that I prefer to
have more work to use the new code in the existing unmanaged project
because we definitely are slowly migrating (where it makes sense) to
.NET. So what is the best approach to produce code that can be used
both in .NET apps and unmanaged apps?
Btw, to make things a bit more complicated we are also using external
unmanaged libraries.
Vadym Stetsyak - 22 Sep 2005 17:32 GMT
AFAIK there are following ways:
- COM components in .NET ( drawback is that in order to use external
unmanaged libs you'll have to use p/Invoke, pluses - can easily be
developed )
- unmanaged COM component ( drawback - it is harder to develop, plus - using
external libraries is not a problem & better performance )
- unmanaged DLL ( drawbacks - using in .NET only through p/Invoke, plus -
using external unmanaged libs is not a proble, also greated performance as
compared to .NET )

Signature
Vadym Stetsyak aka Vadmyst
> I am creating a new app in .NET (VS 2005, C#). A good amount of the
> underlying code (structures, classes, etc) produced for this project
[quoted text clipped - 7 lines]
> Btw, to make things a bit more complicated we are also using external
> unmanaged libraries.