C# dll richtig erstellen

Lars_

Grünschnabel
Hallo Fachwelt,
ich habe ein hoffentlich einfache Problem, an dem ich gerade zugrunde gehe.

Ich habe versucht über C# (VS2005 Express) eine DLL zu erstellen, die ich später in der nicht .NET Welt nutzen möchte. Ich hab total viel gegoogelt und gelesen, kriege aber irgendwie nicht hin die von mir erzeugte dll auf einem anderen Rechner (natürlich auch mit dem .NET Framework) ans laufen zu bekommen. Auf dem Rechner auf dem ich die dll erstellt habe funktioert die dll. (Zur Probe erstelle ich ein kleines Excel Programm in dem ich die dll nutze).
Komischer Weise ist auf dem Rechner wo es Probleme gibt der Verweis (in Excel) zu erstellen, ich sehe auch die Klasse und Methoden über Intellisense, nur beim anlegen eines Objekts dieser Klasse bekomme ich eine Fehlermeldung: Automatisierungsfehler (Laufzeitfehler) beim Durchlauf durch das Programm.


Ich hab schon alles mögliche ausprobiert und weiß jetzt wirklich nicht mehr weiter.
Kann mir jemand das grundsätzliche vorgehen bei einer solchen Sache erklären.
Ich vermute ich mach was beim Registrieren der dll in der Registry falsch.

regasm LarsLib.dll /tlb /codebase


Hat jemand eine Idee?


Gruß
Larsen
 
Hi,

Hab ich dich richtig verstanden? Du willst eine DLL erstellen, die du in COM nutzen kannst?
Wenn ja:
Hast du auch die entsprechende Klassen / Funktionen als COMVisible gekennzeichnet?
 
hi niggo,
ja, ich glaube alles so weit zu haben.
Die dll funktioniert auf dem Rechner auf dem ich sie erstellt habe auch sehr gut.
Nur auf einem anderen Rechner eben nicht.

Ich hab auch schon die Registry Einträge auf beiden Rechnern verglichen, die sehen identisch aus.

Eine Sache habe ich noch entdeckt, meine Klasse hat keinen Standardkonstruktor.
In irgendeinem Artilkel habe ich gelesen, dass man den als public angeben muß!

Ich kann das im Moment leider nicht ausprobieren, texte aber wieder, wenn ich weiß, ob es daran liegt.

Gruß
Larsen
 
Zurück