Un file .dll (Dynamic Link Library, Libreria a Collegamento Dinamico) è una libreria che contiene codice e dati che possono essere utilizzati contemporaneamente da più di un programma. Nel contesto di .NET, un file .dll rappresenta un assembly .NET. Questi assembly contengono codice compilato scritto in linguaggi come C#, VB.NET o F#, insieme a metadati che descrivono i tipi, i metodi e le risorse presenti nell'assembly. Questi metadati, noti come manifesto dell'assembly (assembly manifest), consentono al Common Language Runtime (CLR) di .NET di gestire ed eseguire il codice. Gli assembly .NET sono un blocco fondamentale delle applicazioni .NET, promuovendo il riutilizzo del codice, la modularità e la gestione delle versioni (versioning). Possono contenere classi, interfacce, strutture, enumerazioni e altri tipi. Quando un'applicazione necessita di utilizzare la funzionalità fornita da un assembly .NET, carica l'assembly in memoria e ne accede ai membri. Gli assembly .NET possono essere privati (specifici di un'applicazione) o condivisi (installati nel Global Assembly Cache (GAC) e accessibili da più applicazioni).