Подтвердить что ты не робот

Способы развертывания консольных приложений в С#

У меня довольно сложное консольное приложение, которое основано на нескольких DLL. Я хотел бы "отправить" это в лучшей форме. Мой предпочтительный путь был бы exe файлом со всеми встроенными в него зависимостями (не так много, около 800K). Другое дело - просто застегнуть содержимое папки "Отладка" и сделать это доступным, но я не уверен, что все будет доступно так (все зависимости будут разрешены, просто запустив папку отладки?)

Какие надежные методы существуют для развертывания консольных приложений, написанных на С#, с использованием VisualStudio 2008?

4b9b3361

Ответ 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, их архивирование достаточно.