Forum: PC-Programmierung Wie DLL aus C# Projekt extrahieren


von Frank M. (aktenasche)


Lesenswert?

moin,

folgende ausgangssituation:

c# windows forms projekt
hardwarekomponenten per DLL ansprechbar (hardware.dll)
eigene klassen für die hardware (zB class Camera, die methoden von 
hardware.dll nutzt)

nun will ich die methoden der klassen (zB Camera.GetPicture) als dll 
extrahieren, damit die DLL von anderen entwicklern in projekt 
eingebunden werden kann. am besten so, dass man nur meine dll und nicht 
die hardware.dll einbinden muss.

benutze visual studio 2010 pro.

danke schon mal

von Borislav B. (boris_b)


Lesenswert?

Hast du Zugriff auf die Sourcen der hardware.dll?
Wenn nicht wirst du die wohl mit ausliefern müssen.

Ansonsten:
Einfach ein DLL-projekt erstellen und deine Hardwareklassen da rein 
kopieren. Dann hast ja deine dll.

von Frank M. (aktenasche)


Lesenswert?

nein leider nicht, die kommt direkt vom hersteller. muss der nächste 
entwickler dann ebenfalls die hardware.dll einbinden? kann man die 
vielleicht irgendwie dynmaisch einbinden?

wie gesagt, es ist ein windows forms projekt. ich könnte natürlich die 
entsprechenden klassen in ein eigenes dll projekt kopieren, aber geht 
das nicht direkt aus dem forms projekt heraus?

von Walter T. (nicolas)


Lesenswert?

Was spricht dagegen daß Deine DLL die andere DLL dynamisch einbindet? 
Dann müssen die anderen Entwickler die Hardware.dll nicht mehr einbinden 
sondern nur noch in das Verzeichnis kopieren.

Viele Grüße
Nicolas

von Borislav B. (boris_b)


Lesenswert?

1.
Ja, andere Enwtickler benötigen die DLL auch. Natürlich kann man sie 
auch dynmisch zur Laufzeit einbinden - aber wo wäre da der Vorteil?

EDIT: Ich glaube, ich habe dich misverstanden. DEINE dll referenziert 
die hardware.dll. Beide müssen also im gleichen Verzeichnis liegen. Der 
andere Entwickler muss nun nurnoch DEINE dll in sein Projekt einbinden.

2.
Irgendwie hast du da eine merkwürdige Vorstellung ;-)
Du willst belibige Klassen auswählen und daraus per Mausklick eine DLL 
erstellen lassen? Das ist relativ unsinnig (ganz abgesehen davon, dass 
es nicht geht).
Was machst du z.B. wenn du an einer Klasse was veränderst und die DLL 
neu bauen musst? Willst du dann wieder alle Klassen markieren und eine 
DLL generieren? Was wenn du eine Klasse dabei vergisst?

=> Mach ein eigenes Projekt dafür. Das ist kaum Aufwand und deutlich 
sauberer.

von Junge ... (Gast)


Lesenswert?

rechtsklick auf verweise hinzufügen der dll rest namespace einbinden 
rest macht intellisense oder der objectexplorer

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.