DLL vs EXE em .Net
Ao programar no .NET, você pode escolher se deseja criar um EXE ou uma DLL. Esses dois contêm código executável, mas há uma diferença entre DLL e EXE na maneira como eles funcionam. EXE significa executável, o que significa que é um servidor fora de processo. Se você executar o EXE, ele criará seu próprio encadeamento e os recursos serão alocados para ele. Por outro lado, uma DLL é um servidor em processo, o que significa que você não pode executar um arquivo DLL por si próprio. Um aplicativo em execução carrega e chama uma DLL para fazer uso do código armazenado nele.
O principal objetivo de uma DLL é para que você possa compartimentar seu programa. Isso reduz a complexidade e facilita a localização de problemas. Se você colocar todo o seu código em um único executável, ele será muito grande e levará algum tempo para carregar. Você também obtém o benefício da reutilização se usar DLLs. Digamos, por exemplo, que você tenha um código que exporte um arquivo para um novo formato; se você o colocar em uma DLL, poderá usar essa função em praticamente qualquer programa que esteja criando. Se você o colocou dentro de um EXE, somente esse aplicativo pode usá-lo, pois a função não será visível para outros. Portanto, para tarefas de uso geral, o uso de DLLs é muito vantajoso.
Ao codificar um programa em .Net, você precisa ter um executável, pois esse seria o que será executado pelo usuário. O arquivo EXE é essencial, pois serviria como entrada ou ponto de partida para o seu programa. Você pode ter quantas DLLs desejar. Ter mais de um EXE não é realmente aconselhável, pois eles não seriam capazes de fazer uso do outro.
As DLLs são muito úteis se você programar muito ou criar aplicativos grandes e complicados. Mas se você está apenas criando um programa simples, não é necessário usar DLLs. Manter o código em um único EXE é mais simples e conveniente.
Resumo: