Exe assemblies are known as in-process components which were capable of running on their own as well as provide the support for others to execute. When we work with project templates like Windows Forms Applications, Console Applications, WPF Applications and Windows Services they generate an exe assembly when compiled.Dll assemblies are known as out-process components which were not capable of running on their own they can only support others to execute. When we work with project templates like Class Library and Windows Forms Control Library they generate a dll assembly when compiled.
.Exe1.These are outbound file.2.Only one .exe file exists per application.3. .Exe cannot be shared with other applications.4.exe is a executable file..dll1.These are inbund file .2.Many .dll files may exists in one application.3. .dll can be shared with other applications.4. dll is a Dynamic Link Library
.dll is an assembly and it cannot run individually(we can say its a library used for reusability). dll does not contain main methodexe is a standalone file which can run individually(exe contain Main method)
DLL:In most cases, a DLL file is a library. There are a couple of types of libraries, dynamic and static - read about the difference. DLL stands for dynamic link library which tells us that it's a part of the program but not the whole thing. It's made of reusable software components (library) which you could use for more than a single program. Bear in mind that it's always possible to use the library source code in many applications using copy-paste, but the idea of a DLL/Static Library is that you could update the code of a library and at the same time update all the applications using it - without compiling.For example:Imagine you're creating a Windows GUI component like a Button. In most cases you'd want to re-use the code you've written because it's a complex but a common component - You want many applications to use it but you don't want to give them the source code You can't copy-paste the code for the button in every program, so you decide you want to create a DL-Library (DLL).This "button" library is required by EXEcutables to run, and without it they will not run because they don't know how to create the button, only how to talk to it.
1.EXE is an extension used for executable files while DLL is the extension for a dynamic link library.2.An EXE file can be run independently while a DLL is used by other applications.3.A DLL file can be reused by other applications while an EXE cannot.4.Exe is for single use whereas you can use Dll for multiple use5.Dll is an In-Process Component whereas EXE is an OUt-Process Component.6.You can create an objects of Dll but not of the EXE.
DLL : (Dynamic Link Library)1. DLLs are not directly executable. They are separate files containing functions that can be called by programs and other DLLs to perform computations and functions. 2. A DLL can have only one instance.EXE : (Executable)1. An EXE is a program that can be executed( Ex. Windows Program)2. An Application can have multiple instances of itself running on the system simultaneously.
Difference between exe and dll-1.EXE is an extension used for executable files while DLL is the extension for a dynamic link library.2.An EXE file can be run independently while a DLL is used by other applications.3.An EXE file defines an entry point while a DLL does not.4.A DLL file can be reused by other applications while an EXE cannot.5.A DLL would share the same process and memory space of the calling application while an EXE creates its separate process and memory space.
C# Corner. All contents are copyright of their authors.