You are not with a problem, you want for some reason to reduce the amount of files. Do you have a good reason for this? If not, do not.
If you really want to, you can do as Omni said in the commentary and use the Ilmerge to join the files into one. You have up to one GUI if you think it helps. Example of use:
ilmerge /target:winexe /out:Main.exe
Program.exe ClassLibrary1.dll ClassLibrary2.dll
It is not any code file that can be used for this. As the native code format is different, they cannot be merged.
Having multiple files is the least of the dependency issues. If you really don’t want to have dependencies, use .NET Core. With it you even need the . NET installed on the machine. You will need to have some files, but will really avoid the most significant dependencies and that can bring real difficulties.
There are already more modern solutions for . NET Core. This is for legacy use.
You can try using the Ilmerge to bring together all the Exes in one (tutorial).
– Omni
Take a look at [tour]. You can accept an answer if it solved your problem. You can vote on every post on the site as well. Did any help you more? You need something to be improved?
– Maniero