Um arquivo .dll (Dynamic Link Library, ou Biblioteca de Vínculo Dinâmico) é uma biblioteca que contém código e dados que podem ser utilizados por mais de um programa simultaneamente. No contexto do .NET, um arquivo .dll representa um Assembly .NET. Estes assemblies contêm código compilado escrito em linguagens como C#, VB.NET ou F#, juntamente com metadados que descrevem os tipos, métodos e recursos contidos no assembly. Estes metadados, conhecidos como manifesto do assembly (assembly manifest), permitem que o Common Language Runtime (CLR) do .NET gerencie e execute o código. Assemblies .NET são um bloco de construção fundamental das aplicações .NET, promovendo a reutilização de código, a modularidade e o versionamento. Eles podem conter classes, interfaces, estruturas, enumerações e outros tipos. Quando uma aplicação precisa utilizar a funcionalidade fornecida por um assembly .NET, ela carrega o assembly na memória e acessa seus membros. Assemblies .NET podem ser privados (específicos para uma aplicação) ou compartilhados (instalados no Global Assembly Cache (GAC) e acessíveis por múltiplas aplicações).