Un fichier .dll (Dynamic Link Library) est une bibliothèque contenant du code et des données pouvant être utilisés simultanément par plusieurs programmes. Dans le contexte de .NET, un fichier .dll représente un assembly .NET. Ces assemblys contiennent du code compilé écrit dans des langages tels que C#, VB.NET ou F#, ainsi que des métadonnées décrivant les types, les méthodes et les ressources au sein de l'assembly. Ces métadonnées, appelées manifeste d'assembly, permettent au Common Language Runtime (CLR) de .NET de gérer et d'exécuter le code. Les assemblys .NET constituent une brique fondamentale des applications .NET, favorisant la réutilisation du code, la modularité et la gestion des versions. Ils peuvent contenir des classes, des interfaces, des structures, des énumérations et d'autres types. Lorsqu'une application a besoin d'utiliser une fonctionnalité fournie par un assembly .NET, elle charge l'assembly en mémoire et accède à ses membres. Les assemblys .NET peuvent être privés (spécifiques à une application) ou partagés (installés dans le Global Assembly Cache (GAC) et accessibles par plusieurs applications).