Assemblys und der globale Assemblycache (C#-Programmhandbuch)

Aktualisiert: November 2007

Eine Assembly ist der grundlegende Baustein jeder .NET Framework-Anwendung. Wenn Sie zum Beispiel eine einfache C#-Anwendung erstellen, erzeugt Visual Studio eine Assembly in Form einer einzelnen übertragbaren und ausführbaren Datei (Portable Executable, PE). Dabei handelt es sich entweder um eine EXE-Datei oder um eine DLL.

Assemblys beinhalten Metadaten, die die interne Versionsnummer der Assembly sowie Details zu allen in der Assembly enthaltenen Daten- und Objekttypen beschreiben. Weitere Informationen finden Sie unter Assemblymanifest.

Assemblys werden nur geladen, wenn sie tatsächlich benötigt werden. Wenn sie nicht verwendet werden, werden sie nicht geladen. Dies bedeutet, dass Assemblys eine effiziente Möglichkeit der Ressourcenverwaltung in größeren Projekten darstellen.

Assemblys können eines oder mehrere Module enthalten. Größere Projekte können zum Beispiel so geplant werden, dass verschiedene unabhängige Entwickler verschiedene Module bearbeiten, die schließlich alle zu einer einzigen Assembly zusammengesetzt werden. Weitere Informationen zu Modulen finden Sie unter dem Thema Gewusst wie: Erstellen einer Mehrfachdateiassembly.

Übersicht über Assemblys

Assemblys verfügen über folgende Eigenschaften:

  • Assemblys werden als EXE-Datei oder als DLL implementiert.

  • Sie können eine Assembly in verschiedenen Anwendungen gemeinsam verwenden, indem Sie die Assembly in den globalen Assemblycache einfügen.

  • Assemblys müssen über einen starken Namen verfügen, bevor sie dem globalen Assemblycache hinzugefügt werden können. Weitere Informationen finden Sie unter Assemblys mit starkem Namen.

  • Assemblys werden nur in den Arbeitsspeicher geladen, wenn sie tatsächlich benötigt werden.

  • Mit einer Reflektion können Sie programmgesteuert Informationen zu einer Assembly abrufen. Weitere Informationen finden Sie unter dem Thema Reflektion.

  • Wenn Sie eine Assembly lediglich zu Überprüfungszwecken laden möchten, können Sie eine Methode wie ReflectionOnlyLoadFrom verwenden.

  • Sie können zwei Versionen ein- und derselben Assembly in einer einzelnen Anwendung verwenden. Weitere Informationen finden Sie unter extern-Alias.

Verwandte Abschnitte

Weitere Informationen:

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 1.2 Programmstruktur

  • 9.1 Kompilationseinheiten

Siehe auch

Konzepte

C#-Programmierhandbuch

Metadaten und die PE-Dateistruktur

Referenz

Anwendungsdomänen (C#-Programmierhandbuch)