Update einer COM-Komponente unter .NET

Hallo zusammen,

ich habe seit einiger Zeit eine COM-dll in in eine eigene .NET -dll eingebunden und problemlos über eine zusätzliche EXE (UserInterface) benutzt.
Jetzt gab es ein Update der COM-Komponente und eine Funktion (die ich auch benutze) wurde um einen Parameter erweitert.
Ich habe die alte COM-Komponente deregistriert und die neue registriert.
Die von .NET erzeugten Interop.* dlls zeigen auch die richtige/neue Signatur der Funktion, das Programm läßt sich auch compilieren, aber bei der Ausführung der neuen Funktion gibt es eine Exception vom Typ

System.MissingMethodException

In der Message-Property steht der Name und die (neue) Signatur der Methode.
Ich habe die komplette Registry nach alten Einträgen durchforstet, aber es hilft nicht.
Wenn ich das Ganze wieder rückgängig mache läuft alles wieder.

Hat irgendjemand eine Idee, wo ich noch suchen bzw. was ich noch ändern könnte ???

Ich bin mit meinem Latein am Ende.

Vielen Dank schon im Voraus für jeden Hinweis !!!

Gruß,
Daniel

Hallo

Hast Du schon versucht, die Interop klasse zu löschen und neu generieren zu lassen?

gruss

Giuseppe

JA, aber das bringt leider auch nichts.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hmm :smile:

versuch es mal so:

  • unregister com dll
  • lösche iterop assembly
  • führe regclean aus
  • register com dll
  • build interop assembly
  • beten :smile:

ist die com komponente eine vb6 projekt?
wenn ja, was hast du für eine kompatibilität eingestellt?

gruss

ist die com komponente eine vb6 projekt?
wenn ja, was hast du für eine kompatibilität eingestellt?

gruss

Ich habe die COM-Komponente nicht entwickelt. Aber wenn ich richtig informiert bin, ist sie in C++ geschrieben.

Gruß,
Daniel

P.S.: Danke für die Rückmeldungen

Was meinst Du denn mit regclean? Ist das ein Tool oder meinst du das manuelle durchforsten ?

Gruß,
Daniel

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo zusammen,

ich habe das Problem gelöst.
Ich hatte aus irgendwelchen Gründen die Interop-Dateien einmal im GAC installiert. Und die haben noch auf die alten Daten verwiesen…

Tja, mal wieder ein Beispiel, wie man sich selbst ins Knie schießen kann.

Gruß,
Daniel

Ja ja der GAC :smile:

RegClean ist übrigens ein Tool von Microsoft:
habs bei microsoft nicht gerade gefunden… aber chip.de hat auch einen download.
http://www.chip.de/downloads/c_downloads_8830684.html

kann manchmal echt nützlich sein, bei COM Registrierungsprobs.

gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]