If an assembly is compiled as a class library and provides types for other assemblies to use, then it has the file extension .dll (dynamic link library),
DLL cannot be executed standalone.
DLL cannot be directly executed as they're designed to be loaded and run by other programs
DLL would share the same process and memory space of the calling application
They can be reused for some other application. As long as the coder knows the names and parameters of the functions and procedures in the DLL file .
If an assembly is compiled as an application, then it has the file extension .exe
EXE can be executed standalone.
EXE creates its separate process and memory space.