Workaround für "The ActiveX type library 'XXX' was exported from a .NET assembly ..." gesucht.



  • Ich hab hier einen Out-Of-Process COM Server der in C# implementiert ist.
    Dessen Type-Library erzeuge ich mit tlbexp.exe , was auch schön funktioniert.
    Verwendung aus C++ Projekten heraus ist auch kein Problem, geht alles wunderbar.

    Jetzt möchte ich diesen COM Server aus einem C# Projekt ansprechen. Naheliegend wäre einfach eine COM Referenz in das Projekt reinzuklicken bzw. tlbimp.exe zu verwenden.

    Beide weigern sich aber mit der Fehlermeldung

    The ActiveX type library 'XXX' was exported from a .NET assembly and cannot be added as a reference.

    Visual Studio meint noch "hilfreicherweise"

    Add a reference to the .NET assembly instead.

    Mit ist klar was MS sich dabei gedacht hat, aber ... herrjeh, das ist ein Out-Of-Process COM Server, ich kann und will keine Referenz auf die .NET Assembly statt dessen verwenden.

    Ich hab schon länger gesucht, finde aber keine Tips wie man das umgehen kann.
    Schön wäre ein automatisierbarer Weg. Jedes mal von Hand an der TLB rumzufummeln oder aber handgeschriebene COM Import Klassen in einem C# Projekt zu pflegen ... darauf würde ich gerne verzichten.

    Also. Weiss jemand wie man das hinbekommen kann?

    EDIT: Grammatik


Anmelden zum Antworten