.NET "DLL" schreiben, aus C++ nutzen



  • Hi zusammen,

    ich schreibe gerade an einem Software-SDK, und fuer die naechste Major-Release habe ich eine Idee, von der ich gerne wissen moechte, ob das einfach machbar ist.

    Es waere naemlich u.U. interessant, das SDK in einen Client- und einen Server-Teil aufzuspalten. Hierzu bietet sich .NET mit seinen Remoting-Funktionen geradezu an, allerdings nutzen die meisten der Kunden C++. Die Frage, die sich mir stellt, ist jetzt: Kann ich eine DLL in .NET schreiben, welche ich dann aus "normalem" C++ moeglichst einfach nutzen kann? Wir reden hier naemlich nicht von managed C++, sondern eher von Visual Studio 6 bzw. .NET (allerdings auch nicht managed, sondern 'plain' :)) ...

    Danke schon mal fuer eure Ideen & Gruesse,

    Axel.



  • .Net Assemblies können leicht als COM Komponenten veröffentlicht werden, die kannst du dann aus deinem C++ Projekt nutzen - das wäre die einfachste Art. Oder du schreibst nen Wrapper in Managed C++, der als Schnittstelle zwischen unmanaged und managed Code dient. Der C++ Kompiler kann ja gemischt kompilieren. Was aber die Kunden beachten müssen ist halt, das sie trotzdem das .Net Framework brauchen 🙂



  • Danke! Wenn das geht ist das sozusagen 'supi'. Allerdings sind das schon zwei Dinge, die ich noch nie gemacht habe - .NET -> COM, Managed C++ ...
    Hast du evtl. so aus dem Stegreif eine Literaturempfehlung dafuer parat, welche das in etwa behandelt?



  • Also selber gemacht habe ich beides noch nicht 🙂 Denke mit ner einfachen Suche im Web findet man schon einiges dazu.

    Um ne .Net Dll als COM Komponente zu registrieren, reicht es in den Projektoptionen das entsprechend zu aktivieren. Bei VS 2005 ist das unter Build, bei VS.Net 2003 kann ich grad net schaun, müsste aber ähnlich sein. Da musst du nur halt drauf achten das du, wenn du die Komponente verteilst, die auch auf dem Zielrechner registriert werden muss - typisch COM halt 🙂


Anmelden zum Antworten