dll Einbinden / Registrieren

  • VB.NET
  • .NET 4.5

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    dll Einbinden / Registrieren

    Hi,

    ich Versuche Grade eine dll einzubinden.

    Hintergund:

    Fertiges Programm soll von XP nach win 10 portiert werden.

    Soweit hat alles geklappt aber ich bekomme immer die Meldung:

    ​Klassenfactory für Komponennte CLSID
    ........
    konnte aufgrund des folgenden Fehler nicht abgerufen werden: 80140154 klasse nicht registriert


    Jetzt habe ich mir die Original Dll besorgt und in System32 eingefügt danach wie beschrieben über reg3svr2 die dll registriert -> keine Fehlermeldung

    danach im Projekt den Verweis hinzugefügt. jetzt gibt es im Debug Ordner eine dll mit anderem Name und davor steht "Interop" passt soweit war bei XP auch so.

    aber das Problem ist damit nicht gelöst .... habe auch schon probiert diese dll aus dem debug Ordner du registrieren da kommt aber ein Fehler:

    ​Dei CLR-Assembly ....... kann nicht in eine Typbibilithek exportiert werden da sie aus einer Typbibilithk exportiert wurde.

    KAXTJ schrieb:

    und davor steht "Interop" passt soweit war bei XP auch so.
    Das ist eine DLL, die vom Studio generiert wird, wenn Du ein OCX einbindest.
    Du musst nur die Ur-DLL registrieren, die .Interop.dll vermittelt dann den Zugriff Deines Programms auf die registrierte DLL.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @KAXTJ Mach mal ein neues Projekt, wo Du nix anderes tust, als diese DLL einzubinden.
    Mach ausschließlich diese zwei Sachen:
    • Verweise hinzufügen => die Ur-DLL.
    • Mach in einer Button_Click einen Aufruf in diese DLL.
    Was passiert?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Neu

    so ich habe das Problem gefunden. auch wenn die dll. laut herstelle 64bit untersetzt tut Sie dies offenbar nicht.
    Das umstellen auf 32Bit Prozessor beim Kompilieren hat das Problem gelöst.
    vielen dank für die Hilfe :)

    Neu

    @KAXTJ Gibt es da zufällig eine für x86 und eine weitere für x64?
    Wenn ja, melde Dich, dan machen wir das "ordentlich".
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!