Использование ILMerge, вероятно, самое простое решение. Однако у ILMerge есть недостаток, заключающийся в том, что он изменяет идентичность ссылочных сборок. Как следствие, у вас могут возникнуть проблемы с безопасностью или сериализацией.
Отличное сообщение в блоге от Simone Busoli обсуждает следующие варианты объединения сборок в один исполняемый файл:
- ILMerge
- Встраивание сборок в качестве ресурса и подписка на событие AssemblyResolve.
- Использование Costura , инструмента с открытым исходным кодом, который заботится о внедрении ссылочных сборок, как описано в шаге 2.