a1 & a2
Вот пример:
> a1 = [ 'foo', 'bar' ]
> a2 = [ 'bar', 'baz' ]
> a1 & a2
=> ["bar"]
> !(a1 & a2).empty? # Returns true if there are any elements in common
=> true
Если вы просто скопируете файлы Foo.exe, dll и Foo.exe.config, все будет в порядке. Посмотрите, что еще находится в папке отладки - вы (вероятно) не хотите отправлять файлы .pdb или Foo.vshost.exe. Есть ли еще что-нибудь? Если у вас есть какие-либо элементы, отмеченные как Контент, которые копируются в папку вывода, они вам тоже понадобятся.
Вы можете использовать ilmerge , чтобы поместить все зависимости в один exe-файл, но я несколько подозрительно отношусь к такому подходу - я бы остановился на DLL зависимостей exe +.
Вам следует изучить проекты установки в Visual Studio. Они позволяют настраивать зависимости и включать необходимые библиотеки DLL. Конечным результатом являются setup.exe и установщик MSI.
Вот пошаговое руководство , которое должно помочь.
ИЛИ вы можете использовать самораспаковывающийся ZIP-файл. Упакуйте все обычные файлы - .exe, .dll, .config и все остальное - в zip-файл. Распакуйте во временный каталог и установите программу запуска при извлечении в качестве фактического исполняемого файла консоли.
Создайте проект установки в VS08 и добавьте к нему основной вывод проекта консольного приложения, это разрешит зависимости и упакует их в .msi