Für was Assembly und DLL's

mchashi

Mitglied
Hi @ all,

ich beschäftige mich seit kurzer Zeit mit C# und bin jetzt auf folgende Begriffe gestoßen:

1) Assembly - was ist das?
2) .dll - Dateien - für was brauch ich die bei einem Programm oder beim entwickeln von Programmen?

Vielen Dank im Voraus.

Gruß
mchashi.
 
Ein Assembly ist im großen und ganzen und ganzen eine .NET Assembly. Das kann eine Answendung sein, dass kann eine Bibliothek sein, etc. Ergo sind .exe, .dll Assemblies.

Wozu Dlls? Nun, oft werden Funktionalitäten in Klassenbibliotheken ausgelagert, sprich in eigene Klassen, die in einer Bibliothek abgelegt werden. Und schon ist deine DLL fertig. Schließlich soll ja die Funktionalität nicht ni der GUI liegen.

Viele weitere Informationen zum Thema Assembly findest du auch in der MSDN.
 
Vielen Dank vorerst...

Ich habe in meinem Programm eine Datanbank Klasse die sozusagen einige Funktionen von einer Middleware abdeckt.

Jetzt wird diese Klasse und alles in meinem Projekt (das Hauptprogramm und die einzige .exe) mit compiliert. Sollte ich die Datenbankklasse lieber in eine DLL packen und wenn ja wie geht das und wie "include" ich die in meine Form Klassen, da wo ich sie ansprechen muss?

Vielen Dank schon mal.

Gruß
mchashi.
 
Hallo mchashi!

Damit die DLL automatisch in den Programmordner kopiert werden soll, fügst dein DLL-Projekt zu deiner aktuellen Projektmappe hinzu.
Danach musst Du noch die Referenz auf die DLL im VS einstellen. Danach musst Du nur noch die Namespaces via using einbinden.

Danach kannst Du auf alle Objekte der DLL sammt Methoden, Funktionen und Propertys zugreifen.

MfG, cosmo
 
super, hat geklappt, danke.

doch worin besteht der unterschied zwischen einer WindowsControlLibrary und einer ClassLibrary?

Danke für die Info.
 
Zuletzt bearbeitet:
WindowsControlLibrary's sind stellen quasi Benutzersteuerelemente dar und sind alles andere als eine normale Klasse die eine vorhande Klasse erweitert.

Nehmen wir mal eine ganz normale Klasse:
Code:
public class form1{
//mach was
}
wenn wir diese nun von System.Windows.Forms.Form ableiten:
Code:
public class form1 : System.Windows.Forms.Form{
//mach was
}
sind wir in der Lage diese in dem WinowsFormDesigner zu verändern. Wechsel mal zwischen Forms.Form und Forms.UserControl, dann siehst Du den Effekt.

WindowsControlLibrary's kann man auf seinem Form visualisieren. Normal ClassLibrary's nicht. Sie sind eher eine Sammlung von Funktionen und Methoden welche statisch oder als Instanz vorhanden sein können.
Normal ClassLibrary's machen also was und WindowsControlLibrary's visualisieren zusätzlich irgend was.

Wenn Du ein WindowsControlLibrary Projekt erstellst wird automatisch eine Klasse generiert, welche die Eigenschaften von UserControl erbt und in deinem WinowsFormDesigner angezeigt.

*Edit: Ich vergaß zu erwähnen das die benötigten Referenzen, wie z.B. System.Drawing, dann auch vorhanden sind.

MfG, cosmo
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück