DLL vs EXE en .Net
Al programar en .NET, se le ofrece una opción si desea crear un EXE o un DLL. Estos dos contienen código ejecutable, pero existe una diferencia entre DLL y EXE en su funcionamiento. EXE significa ejecutable, lo que significa que es un servidor fuera de proceso. Si ejecuta el EXE, creará su propio hilo y se le asignarán recursos. En contraste, una DLL es un servidor en proceso, lo que significa que no puede ejecutar un archivo DLL por sí solo. Una aplicación en ejecución carga y llama a una DLL para hacer uso del código almacenado en ella..
El propósito principal de una DLL es que usted pueda compartimentar su programa. Esto reduce la complejidad y facilita la localización de problemas. Si pones todo tu código en un solo ejecutable, sería bastante grande y llevaría bastante tiempo cargarlo. También obtienes el beneficio de la reutilización si usas DLL. Digamos, por ejemplo, que tiene un código que exporta un archivo a un nuevo formato, si lo coloca en una DLL, puede usar esa función en casi cualquier programa que esté creando. Si, en cambio, lo colocó dentro de un EXE, solo esa aplicación puede usarlo, ya que la función no será visible para otros. Así que para tareas generales, usar DLL es muy ventajoso.
Al codificar un programa en .Net, necesita tener un ejecutable, ya que ese sería el que ejecutará el usuario. El archivo EXE es esencial ya que serviría como entrada o punto de inicio para su programa. Entonces puedes tener tantos DLL como quieras. Tener más de un EXE no es realmente recomendable ya que uno no podría hacer uso del otro.
Los archivos DLL son muy útiles si programa mucho o hace aplicaciones bastante complicadas y grandes. Pero si solo está creando un programa simple, no es necesario usar DLL. Mantener el código en un solo EXE es más simple y más conveniente.
Resumen: