I can publish it without including the .dll file in the same directory with my .exe file.
In general, you cannot do that.
To do that you would need to decompile dll and turn it into static library, which will be violation of license for freeware, proprietary, GPL and LGPL projects. Linking with contents of dll statically might introduce problems (CRT mixup).
OR you could attempt to obtain static library version of library dll represents, and link statically. This might not be possible for proprietary projects (unless you're willing to pay a lot and THEY're willing to sell), freeware projects, cannot be used for GPL/LGPL dlls (static link => derived work => your project is now GPL/LGPL, which probably isn't what you want).