[C#] C++ DLL verwenden

Passer

Erfahrenes Mitglied
Hallo,

Ich muss für ein C# Modul ein Objekt erzeugen und benutzen.

Das Problem ist, dass die Klasse dafür in einer C++ DLL liegt.

"Die Definition wird in die DLL beim kompilieren über eine Lib gelinkt".

Bisher habe ich beim Benutzen von c++ Objekten in C# (bspw für DirectX) über interfaces und deren GUIDS gearbeitet bspw:
PHP:
[Guid("b61178d1-a2d9-11cf-9e53-00aa00a216a1"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	internal interface IKsPin

Bei dem nun vorliegenden liegt mir zwar die Header Dateien der Lib vor, aber keine GUIDs.

DLLImporte gehen soweit ich das gesehen habe nur bei statischen Aufrufen und nicht für Objekte (oder?).

Weiss jemand, was man da machen könnte?

MfG
Passer
PS.
Da ich im Moment sehr ratlos bin, ergänze ich obige Beschreibung gerne auf Nachfrage.
 
Hi

Du müsstest die C++ DLL (ich nehm mal an Native C++) als COM-DLL erstellen. Diese kann dann in .NET referenziert werden.
Alternativ kannst mit Managed C++ einen Rapper um die Lib schreiben (C++ und C++.NET gemischt) und diese dann als .NET Assembly referenzieren.
 
Zurück