2011-01-08 9 views
0

Ich möchte eine DLL aus einem C++ - Code erstellen und in C# verwenden. Gibt es eine Lösung zum Erstellen von COM-Objekt aus C++?
Ich möchte nicht System.Runtime.InteropServices verwenden.Erstellen eines COM-Objekts aus C++?

Vielen Dank

+0

Werfen Sie einen Blick auf ATL –

Antwort

4

Sie können COM direkt schreiben (siehe @Darin Dimitrovs Antwort), aber Sie können auch ATL verwenden. Meine Lieblingslösung, um C++ - Code C# (ohne COM) zur Verfügung zu stellen, ist C++/CLI.

0

können Sie ATL verwenden, es zu einfach und Sie müssen nur die DLL registrieren. Danach können Sie es in allen C# -Programmen verwenden

1

Es gibt 3 Möglichkeiten, darüber zu gehen.

1) Verwenden Sie PInvoke von C#, um in native Methoden aufzurufen.

2) Verwenden Sie C++ - CLI, um eine Ebene zu erstellen, die native Funktionalität für C# verfügbar macht. Dies ist meine empfohlene Vorgehensweise.

3) Schreiben Sie die C + + - DLL als ein COM-Objekt und Zugriff von C#. Benötigt COM-Kenntnisse und somit Entwicklungskosten.