Способы развертывания консольных приложений в C # - PullRequest
40 голосов
/ 02 июня 2009

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

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

Ответы [ 5 ]

41 голосов
/ 02 июня 2009

Если вы просто скопируете файлы Foo.exe, dlls и Foo.exe.config, вероятно, все будет в порядке. Посмотрите, что еще находится в папке отладки - вы (вероятно) не хотите отправлять файлы .pdb или Foo.vshost.exe. Есть ли еще что-нибудь? Если у вас есть какие-либо элементы, помеченные как содержимое, которые копируются в выходную папку, они вам тоже понадобятся.

Вы могли бы использовать ilmerge , чтобы поместить все зависимости в один exe-файл, но я несколько опасаюсь такого подхода - я бы придерживался exe + зависимости dll. 1007 *

12 голосов
/ 02 июня 2009

Вы должны изучить проекты установки в Visual Studio. Они позволяют вам устанавливать зависимости и включать нужные вам библиотеки DLL. Конечным результатом является setup.exe и установщик MSI.

Вот прохождение , которое должно помочь.

2 голосов
/ 02 июня 2009

ИЛИ вы можете использовать самораспаковывающийся ZIP-файл. Упакуйте все обычные файлы - .exe, .dll, .config и все остальное - в zip-файл. Извлеките во временный каталог и установите программу запуска при извлечении, чтобы быть фактическим exe консоли.

0 голосов
/ 24 января 2019

Вы можете использовать установщики wix, чтобы связать его. Для консольного приложения exe + библиотеки DLL зависимостей + библиотеки DLL nuget, достаточно их архивировать.

0 голосов
/ 02 июня 2009

Создайте проект установки в VS08 и добавьте в него основной вывод проекта приложения консоли, это разрешит зависимости и упакует их в MSI-файл

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...