Исходный код вики Сборка в один .exe файл
Версия 1.5 от Alexandr Fokin на 2020/01/05 17:41
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | В платформе .Net по умолчанию приложение состоит из: |
2 | * .exe сборки основного приложения, запускаемый файл | ||
3 | * .dll файлов сборок библиотек | ||
4 | |||
5 | Существует возможность объединить вышеуказщанные файлы в один .exe. Для этого существует несколько способов: | ||
6 | 1. Утилита ILMerge | ||
![]() |
1.2 | 7 | 2. Ручное встраивание dll в ресурсов exe (Рихтер). |
![]() |
1.1 | 8 | 3. Nuget пакет Costura.Fody, автоматизирующий пункт 2. |
![]() |
1.2 | 9 | 4. Также существуют решения для ASP.NET (Рассмотреть позже) |
10 | 5. В NetCore 3.0 данный функционал добавлен из коробки | ||
![]() |
1.1 | 11 | |
![]() |
1.2 | 12 | |
13 | 1) Утилита ILMerge выполняет интеграцию всех сборок в одну. При этом могут возникать конфликты. И данныйы способ не работает с WPF. | ||
14 | 2) Данный метод продемонстрирован в книге Рихтера. Суть его в том, что внешние сборки указываются как встраеваемый ресур в основном проекте. И указывается обработчик для их извлечения | ||
15 | 3) Данный пакет автоматизирует способ, указанный в пункте 2. | ||
![]() |
1.4 | 16 | |
17 | Материалы | ||
![]() |
1.5 | 18 | * [[Как-скомпилировать-все-проекты-солюшена-в-один-exe>>Как-скомпилировать-все-проекты-солюшена-в-один-exe]] |
19 | |||
![]() |
1.4 | 20 | * [[Nuget Costura.Fody>>https://www.nuget.org/packages/Costura.Fody/]] |
![]() |
1.5 | 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]] |