Способы развертывания консольных приложений в С#
У меня довольно сложное консольное приложение, которое основано на нескольких DLL. Я хотел бы "отправить" это в лучшей форме. Мой предпочтительный путь был бы exe файлом со всеми встроенными в него зависимостями (не так много, около 800K). Другое дело - просто застегнуть содержимое папки "Отладка" и сделать это доступным, но я не уверен, что все будет доступно так (все зависимости будут разрешены, просто запустив папку отладки?)
Какие надежные методы существуют для развертывания консольных приложений, написанных на С#, с использованием VisualStudio 2008?
Ответы
Ответ 1
Если вы просто скопируете файлы Foo.exe, dlls и Foo.exe.config, вероятно, все будет в порядке. Посмотрите, что еще находится в папке отладки, хотя вы (возможно) не хотите отправлять файлы .pdb или Foo.vshost.exe. Есть ли еще что-нибудь? Если у вас есть какие-либо элементы, помеченные как Контент, которые скопированы в выходную папку, вам тоже понадобятся.
Вы можете использовать ilmerge, чтобы поместить все зависимости в один exe файл, но я немного склонен к такому подходу - d с файлами dll exe +.
Ответ 2
Вы должны изучить настройки проектов в Visual Studio. Они позволяют вам устанавливать зависимости и включать нужные DLL. Конечным результатом является setup.exe и установщик MSI.
Здесь прохождение, которое должно помочь.
Ответ 3
ИЛИ вы можете использовать самораспаковывающийся ZIP файл. Упакуйте все нормальные файлы вверх -.exe,.dll,.config и все остальное - в zip файл. Извлеките в каталог temp и установите программу run-on-extract как фактическую консоль exe.
Ответ 4
Создайте проект настройки в VS08 и добавьте к нему основной вывод проекта приложения консоли, это разрешит зависимости и упаковывает их в .msi
Ответ 5
Вы можете использовать установщики wix, чтобы связать его. Для консольного приложения, exe + зависимые библиотеки DLL + nuget DLL, их архивирование достаточно.