Un file .dll (Dynamic Link Library - Libreria a Collegamento Dinamico) è una libreria che contiene codice e dati che possono essere utilizzati contemporaneamente da più programmi. 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 ai metadati che descrivono i tipi, i metodi e le risorse all'interno dell'assembly stesso. 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 elemento costitutivo fondamentale delle applicazioni .NET, promuovendo la riutilizzabilità del codice, la modularità e il versioning (gestione delle versioni). Possono contenere classi, interfacce, strutture, enumerazioni e altri tipi. Quando un'applicazione necessita di utilizzare funzionalità fornite da un assembly .NET, essa carica l'assembly in memoria e ne accede ai membri. Gli assembly .NET possono essere sia privati (specifici per un'applicazione) sia condivisi (installati nella Global Assembly Cache (GAC) e accessibili da più applicazioni).