Advanced  Services Assemblies Back Next Up Home


Einfürung

Ein Assembly ist eine Sammlung von Klassen. Diese können in einem Namensraum liegen oder auch in mehreren verschiedenen Namensräumen. Zu einem Assembly wird diese Sammlung aber erst dann wenn sie in eine externe Bibliothek gepackt wird und als Datei gespeichert wird. Visual Studio legt ein Assembly dann als DLL (Dynamic Link Library) Datei an. Dieses Assembly kann dann in einem beliebigen C#-Projekt verwendet werden. Dazu muß man lediglich in den Projekteinstellungen unter Verweise (References) den Pfad zur DLL eintragen. Dann kann man auf die Klassen entweder über den using-Mechanismus zugreifen oder auch den Namensraum explizit angeben. Sobald man die Referenz eingetragen hat werden die neuen Klassen von der Intellisense erkannt.

Wir merken uns also:

Ein Assembly ist eine Sammlung von Klassen in einer DLL, die in Visualstudio über eine Referenz (Verweis) angesprochen werden kann


Erstellen eines Assemblys mit Visual Studio

Falls man ein neues Projekt anlegt, geht man natürlich über

File -> New -> Project

Bei einem bestehendem Projekt markiert man den Projekteintrag im Solution Explorer und öffnet das Kontextmenu

Add -> New Project

In dem nun erscheinenden Dialogfenster wählt man ClassLibrary aus, gibt der entstehenden ClassLibrary evtl. einen eigenen Namen und bestätigt die Auswahl mit dem OK-Button.

csharp-assembly-01.jpg

Es entsteht eine Schablone mit einem Namespace und einer leeren Klasse. Die damit gebaute DLL erhält den Namen ClassLibrary1.dll, der Namespace erhält ebenfalls den Namen ClassLibrary1.


Besonderheiten bei der Namensgebung

Eine Umbenennung des Namespace ist ohne weiteres möglich. Auch kann eine Library mehrere Namespaces enthalten. Im folgenden verwendet ein anderes Projekt die Library mit dem Namen ClassLibrary1. Da der enthaltene Namespace aber Library heißt braucht man ein using Library.

csharp-assembly-02.jpg

Will man den Namen der DLL ändern, so muß man den gewünschten Namen in den Projekteinstellungen eintragen:

csharp-assembly-03.jpg

Eine Umbenennung der DLL muß in den Projekteinstellungen vorgenommen werden.

csharp-assembly-04.jpg

Eine Umbenennung des Projektnamens wirkt nur innerhalb von Visual Studio. Hier wird ein Namespace Straub und eine Klasse Util verwendet. Sie enthält zwei einfache statische Methoden, die Konsolausgaben ermöglichen

assembly2.jpg

Beim Erstellen des Projekts wird im Debug-Verzeichnis eine Datei mit dem Namen StraubLibrary.dll erstellt.


Verwenden des Assemblies in einem anderen Projekt (in derselben Projektmappe)

Als erstes muß eine Referenz auf das das Assembly angelegt werden

Projekt im Solution Explorer markieren -> Kontextmenu -> Add Reference (Verweis hinzufügen)

In dem nun erscheinenden Dialogfenster die Registerkarte Projects anwählen und das passende Assembly suchen

assembly3.jpg

Auch ohne using zu verwenden kann man jetzt schon auf den Inhalt der Library zugreifen indem man mit dem Namensraum arbeitet.

assembly4.jpg

assembly5.jpg

Durch eine using-Anweisung erübrigt sich natürlich die Angabe des Namensraums.


Verwenden des Assemblies in einer anderen Projektmappe

Hier ist das Assembly zunächst nicht bekannt. Geht man den gleichen Weg wie oben, findet man unter Projects keinen Eintrag. Das nächste Tab mit dem Namen "Browse" führt uns aber zur Lösung. Hier kann man im Dateisystem eine DLL suchen und auswählen.

assembly6.jpg

assembly7.jpg

Valid XHTML 1.0 Strict top Back Next Up Home