Ich habe gestern ein COM-Objekt mit C # erstellt, das zu drei Dateien im bin / release-Verzeichnis meines VS 2010-Projekts führte (comclass.dll, comclass.pdb und comclass.tlb). Jetzt, wenn ich die Lösung im Projekt erstelle, registriert VS die Klasse für mich automatisch auf dem Entwicklungs-PC und ich habe kein Problem damit, auf das COM-Objekt und seine Methoden von, sagen wir, Powershell zuzugreifen. Wenn ich jedoch die drei Dateien auf einen anderen Rechner kopiere und versuche, die DLL mit regsvr32 zu registrieren, sagt es mir das
Das Modul "comclass.dll" wurde geladen, aber der Einstiegspunkt DllRegisterServer wurde nicht gefunden.
Stellen Sie sicher, dass "comclass.dll" eine gültige DLL- oder OCX-Datei ist, und versuchen Sie es erneut.
Die Verwendung von regasm
mit dem Parameter /tlb
in der .tlb-Datei gibt mir eine ähnliche Nachricht. Also bin ich ein bisschen ratlos. Weiß jemand, wie ich von hier ausgehen soll?
Kopieren Sie einfach die dll (und optional die pdb , wenn Sie Dateipfade und Zeilennummern in Ihren Stack-Traces haben möchten). So registrieren Sie es und das tlb wird erstellt:
%Vor% Da Visual Studio es erfolgreich registriert, könnte das einfach funktionieren. Wenn nicht, können Sie auch das Bedienfeld "Ausgabe" öffnen und sehen, wie Visual Studio regasm
aufruft.