Если вопрос заключается только в том, чтобы заставить VisualStudio создавать исполняемые программы, он делает это каждый раз, когда вы запускаете их внутри него.Если вы используете все настройки по умолчанию, откройте папку вашего проекта и найдите каталог / bin.Под ним находятся каталоги / debug и / release.Если вы строите свою программу в режиме отладки, посмотрите в каталог / debug, если вы строите ее в режиме выпуска, посмотрите в каталоге выпуска.VS поместит все, что нужно вашей программе, в этот каталог.Вы можете скопировать все эти файлы на другой компьютер, на котором установлена среда выполнения .Net, и он должен запуститься.
Если вопрос больше в том, чтобы объединить несколько dll в один exe-файл, то на самом деле есть руководство по нему.в CodePlex:
Как вы знаете, традиционное связывание объектного кода больше не требуется в .NET.Программа .NET обычно состоит из нескольких частей.Типичное приложение .NET состоит из исполняемой сборки, нескольких сборок в каталоге программы и нескольких сборок в глобальном кэше сборок.Когда программа запускается, среда выполнения объединяет все эти части в программу.Связывание во время компиляции больше не требуется.
Но иногда, тем не менее, полезно объединить все детали, которые должна выполнить программа, в одну сборку.Например, вы можете упростить развертывание приложения, объединив программу, все необходимые библиотеки и все ресурсы в один файл .exe.
http://www.codeproject.com/KB/dotnet/mergingassemblies.aspx
И наконец, если вопрос касается создания установщика для широкого распространения, у Ян Виллема Б есть пример для WIX: Использование WIX для создания установщика: краткое руководство