Hallo,
ich habe die Aufgabe eine C#-Application zu erstellen. In diese Application muss auch Tool integriert werden, das C++ basiert ist. Ich könnte die Funktionalitäten des Tools in eine dll integrieren! Nur kann ich diese dll dann ohne Probleme in einer C# Anwendung verwenden? Was muss ich beachten?
Vielen Dank,
uzz
Problemlos wird es nur wenn:
Ist das Managed C++ oder "normales"?
Bei normalen C++ kannst Du keine Klassen benutze, Du musst alles C Wrapper schreiben.
Du hast zwei Möglichkeiten:
Du exportierst Funktionen oder COM-Klassen, die du mittels P/Invoke bzw. COM-Interop in deiner .Net (C#) Anwendung verwendest.
Du verwendest C++/CLI. Damit kannst du mixed mode assemblies erstellen, die du auch unter .Net verfügbar machen kannst. Leider lädt die MSDN-Webpage bei mir gerade sehr langsam, du findest jedoch näheres zu dem Thema, wenn du im Index der offline Hilfe nach cl.exe suchst und dann "Common Language Runtime (Option)" auswählst.
Ergänzung: C++/CLI ist nicht Managed C++ wie es mit .Net 1 eingeführt wurde. C++/CLI gibt es erst seit .Net 2.