Исходный код вики Сборка в один .exe файл

Версия 1.5 от Alexandr Fokin на 2020/01/05 17:41

Последние авторы
1 В платформе .Net по умолчанию приложение состоит из:
2 * .exe сборки основного приложения, запускаемый файл
3 * .dll файлов сборок библиотек
4
5 Существует возможность объединить вышеуказщанные файлы в один .exe. Для этого существует несколько способов:
6 1. Утилита ILMerge
7 2. Ручное встраивание dll в ресурсов exe (Рихтер).
8 3. Nuget пакет Costura.Fody, автоматизирующий пункт 2.
9 4. Также существуют решения для ASP.NET (Рассмотреть позже)
10 5. В NetCore 3.0 данный функционал добавлен из коробки
11
12
13 1) Утилита ILMerge выполняет интеграцию всех сборок в одну. При этом могут возникать конфликты. И данныйы способ не работает с WPF.
14 2) Данный метод продемонстрирован в книге Рихтера. Суть его в том, что внешние сборки указываются как встраеваемый ресур в основном проекте. И указывается обработчик для их извлечения
15 3) Данный пакет автоматизирует способ, указанный в пункте 2.
16
17 Материалы
18 * [[Как-скомпилировать-все-проекты-солюшена-в-один-exe>>Как-скомпилировать-все-проекты-солюшена-в-один-exe]]
19
20 * [[Nuget Costura.Fody>>https://www.nuget.org/packages/Costura.Fody/]]
21 * [[Fody is only supported on MSBuild 16 and above. Current version: 15>>https://stackoverflow.com/questions/55795625/fody-is-only-supported-on-msbuild-16-and-above-current-version-15]]