Eine .dll-Datei (Dynamic Link Library) ist eine Bibliothek, die Code und Daten enthält, die gleichzeitig von mehreren Programmen genutzt werden können. Im Kontext von .NET repräsentiert eine .dll-Datei eine .NET-Assembly (oder .NET-Baugruppe). Diese Assemblies enthalten kompilierten Code, der in Sprachen wie C#, VB.NET oder F# geschrieben wurde, zusammen mit Metadaten, welche die Typen, Methoden und Ressourcen innerhalb der Assembly beschreiben. Diese Metadaten, bekannt als Assembly-Manifest, ermöglichen es der .NET Common Language Runtime (CLR), den Code zu verwalten und auszuführen. .NET-Assemblies sind ein fundamentales Bauelement von .NET-Anwendungen und fördern die Wiederverwendbarkeit von Code, Modularität und Versionierung. Sie können Klassen, Schnittstellen (Interfaces), Strukturen, Enumerationen und andere Typen enthalten. Wenn eine Anwendung Funktionalität benötigt, die von einer .NET-Assembly bereitgestellt wird, lädt sie die Assembly in den Speicher und greift auf ihre Mitglieder (Members) zu. .NET-Assemblies können entweder privat (spezifisch für eine Anwendung) oder gemeinsam genutzt (Shared) werden, wobei letztere im Global Assembly Cache (GAC) installiert und für mehrere Anwendungen zugänglich sind.