Hallo doubleII und
DLLImport funktioniert, so wie Christian schon verlinkt hat, am einfachsten für eine C-Schnittstelle.
Bei C++ besteht zum einen die Schwierigkeit bzgl. des
Name mangling, aber die Hauptproblematik besteht in der unterschiedlichen Speicherverwaltung bei C# und C++ (d.h. wenn du C++ Klassen wie z.B.
DLL_LogFunc einbinden willst, dann mußt du das Speicherlayout exakt 1:1 in C# nachbauen - dies nennt man Marshalling).
Ich würde dir daher davon abraten, direkt eine C++ DLL in C# einzubinden (zu versuchen).
Erstelle dir eine Wrapper-DLL mit einer reinen C-Schnittstelle, d.h. nur globale Funktionen und native Datentypen!
Edit:
Und bitte Crossposts immer angeben:
myCSharp.de - Unmanaged Dll C++ die Funktionen in C Sharp einbinden
PS:
@Frühlingsrolle: Trotzdem kommt es auch bei VS auf den Projekttyp an (es gibt natives C++ und C++/CLI - und nur letzteres erzeugt .NET Assemblies)