To merge dependencies (DLLs and assemblies) you can use Microsoft ILMerge. ILMerge is a utility that merges multiple .NET assemblies into a single assembly.
ILMerge takes a set of input assemblies and merges them into one
target assembly. The first assembly in the list of input assemblies is
the primary assembly. When the primary assembly is an executable, then
the target assembly is created as an executable with the same entry
point as the primary assembly. Also, if the primary assembly has a
strong name, and a .snk file is provided, then the target assembly is
re-signed with the specified key so that it also has a strong name.
Example:
@echo off
:: this script needs https://www.nuget.org/packages/ilmerge
:: set your target executable name (typically [projectname].exe)
SET APP_NAME=myapp.exe
:: Set build, used for directory. Typically Release or Debug
SET ILMERGE_BUILD=Debug
:: Set platform, typically x64
SET ILMERGE_PLATFORM=x64
:: set your NuGet ILMerge Version, this is the number from the package manager install, for example:
:: PM> Install-Package ilmerge -Version 3.0.21
:: to confirm it is installed for a given project, see the packages.config file
SET ILMERGE_VERSION=3.0.21
:: the full ILMerge should be found here:
SET ILMERGE_PATH=%USERPROFILE%\.nuget\packages\ilmerge\%ILMERGE_VERSION%\tools\net452
:: dir "%ILMERGE_PATH%"\ILMerge.exe
echo Merging %APP_NAME% ...
:: add project DLL's starting with replacing the FirstLib with this project's DLL
"%ILMERGE_PATH%"\ILMerge.exe Bin\x64\Release\%APP_NAME% ^
/lib:Bin\%ILMERGE_PLATFORM%\%ILMERGE_BUILD%\ ^
/out:%APP_NAME% ^
FirstLib.dll ^
mylib1.dll ^
Microsoft.lib2.dll ^
SomeOtherLib.dll ^
\otherlibdir\otherlib.dll
:Done
dir %APP_NAME%
If it's hard for you to use ILMerge in command-line or in your build process I suggest ILMerge-Gui tool. It gives you short and simple UI to merge your dependencies as a single exe file.

Please don't forget to read the ILMerge website.