2012-06-23 2 views
1

Im пытается развернуть приложение winforms. В настоящее время я собираюсь упаковать Dlls и Executable в Single Exe размером около 12 МБ в размере (сжато). Это стандартная процедура? есть некоторые недостатки для этого подхода?Необходимость объединения DLL и создания единой сборки

ответ

6

Microsoft фактически предоставляет инструмент для этого, называемый ILMerge. Имейте в виду:

  • Вы сразу же потеряете возможность обновлять только один компонент в вашем APPLICATION- вам нужно упаковать новые версии и отправить их в виде одного файла.

  • Это не работает для WPF, так что это может ограничить ваш путь обновления от WinForms

  • Существуют более эффективные подходы (документированные в ссылке выше) для .NET 4.5.

Кроме того, для этого был создан GUI.

+0

Я знаю о ILMERGE.Это стандартная процедура-рекомендуется? – techno

+2

+1 за внимание. –

+0

@techno да, это довольно стандарт, хотя это может измениться в будущем в пользу альтернативного подхода, о котором я упоминал. –

0

Вы можете найти некоторые официальные ссылки и довольно хороший список Плюсов и минусов в конце этой нити, где оригинальный плакат, который задает подобный вопрос кратко обратной связи и то, что он узнал:

http://www.pcreview.co.uk/forums/single-multiple-assemblies-big-apps-and-code-reuse-t2659572.html

Короче говоря, основными недостатками являются трудности в обслуживании (развертывание новых версий только с некоторыми функциями), потенциально сокращенное время запуска (весь код загружен заранее) и больший объем памяти, даже если некоторые загружаемые функции могут не потребоваться. Потенциальные преимущества, которые я могу видеть, - это простое развертывание, что потенциально меньше накладных расходов на загрузку сборных пакетов по требованию и, возможно, улучшение обфускации кода (с помощью инструментов), если это то, чего вы пытаетесь достичь.

Я предполагаю, что у вас есть повод сделать это. FWIW, я лично считаю, что это плохая идея.

+0

Спасибо за ответ – techno

+0

«сокращенное время запуска» слияние сократит время запуска? – techno

 Смежные вопросы

  • Нет связанных вопросов^_^