When you add a link to another assembly (for example, a third-party DLL) to your C # project, the compiler does not add the contents of this assembly to your EXE; it simply creates a link saying that your program will need to load this DLL when it starts. It is normal to distribute a .NET program as an EXE file and the DLL files that it needs.
But if you prefer, you can combine them into one EXE file. There are several different tools that can combine multiple .NET assemblies into one. See ILMerge or . NETZ .
source share