Hallo,
ich habe eine Assembly, die ich für COM registrieren möchte. Auf meinem Rechner funktioniert das Registrieren einwandfrei, auch das Ansprechen über COM funktioniert.
Bei meinem Kollegen klappt nur der erste Schritt - er kann die Assembly mittels regasm erfolgreich registrieren, aber wenn er versucht, eine Klasse aus der Assembly zu instanziieren, erhält er die Fehlermeldung, dass die Datei nicht gefunden werden könne - vermutlich die DLL.
Woran könnte dies liegen?
Viele Grüße,
Golo
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
vielleicht eine abhängige Assembly/COM Objekt fehlt?
Kann ich mir eigentlich nicht vorstellen, da der COM-Server nur eine Methode enthält, die einen übergebenen String einfach wieder zurückgibt.
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
erstelle einen Setup und installiere die DLL. ich hatte auch bereits Probleme beim Registrieren mit regasm. In solchen Fällen hatte ich mit einer ganz einfachen Installroutine die Assembly registrieren können.
Hallo,
ich habe mal diesen alten Thread ausgegraben weil ich
ein Setup Projekt zum registrieren einer dll machen will.
Hab das allerdings noch nie gemacht!!!
Gibt es dafür eine Anleitung oder irgendein Link der das
beschreibt. Vielleicht kann ja auch einerhier beschjreiben wie das geht.
Danke
Also hier gibts eine Anleitung um .NET - Komponneten mit COM zu nutzen.
Beim Setup musst du dann nur die Schritte in der richtigen Reihenfolge ausführen.
Ich mach das selbe um eine c# dll mit einem Interface in einem c++ Programm aufzurufen.
Die c# dll kann ich ohne Fehler erstellen aber bei meinem C++ Programm kann er nicht auf die methoden der c# dll zugreifen.
Ich habe dieses Beispiel programmiert : http://www.codeproject.com/csharp/ManagedCOM.asp
Ich hab die Dll richtig in das C++ Programm importiert, aber bei der 2 Zeile :
MyInterop::IMyDotNetInterfacePtr pDotNetCOMPtr;
Sagt er das IMyDotNetInterfacePtr kein Member von MyInterop ist.
Ich bedanke mich schon vorher für eure Hilfe,
lg.
Stefan