Изменения документа Сборка в один .exe файл

Редактировал(а) Alexandr Fokin 2024/09/01 13:05

От версии 1.1 >
отредактировано Alexandr Fokin
на 2020/01/05 17:36
К версии < 2.1 >
отредактировано Alexandr Fokin
на 2020/01/05 17:45
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -4,6 +4,21 @@
4 4  
5 5  Существует возможность объединить вышеуказщанные файлы в один .exe. Для этого существует несколько способов:
6 6  1. Утилита ILMerge
7 -2. Ручное встраивание ресурсов.
7 +2. Ручное встраивание dll в ресурсов exe (Рихтер).
8 8  3. Nuget пакет Costura.Fody, автоматизирующий пункт 2.
9 +4. Также существуют решения для ASP.NET (Рассмотреть позже)
10 +5. В NetCore 3.0 данный функционал добавлен из коробки
9 9  
12 +
13 +1) Утилита ILMerge выполняет интеграцию всех сборок в одну. При этом могут возникать конфликты. И данныйы способ не работает с WPF.
14 +2) Данный метод продемонстрирован в книге Рихтера. Суть его в том, что внешние сборки указываются как встраеваемый ресур в основном проекте. И указывается обработчик для их извлечения
15 +Замечена особенность: если в зависимых сборках присутствуют ресурсы, то функция извлечения должна это учитывать т.к. имена сборки с ресурсами содержит постфикс.
16 +3) Данный пакет автоматизирует способ, указанный в пункте 2.
17 +
18 +Материалы
19 +* [[Как-скомпилировать-все-проекты-солюшена-в-один-exe>>Как-скомпилировать-все-проекты-солюшена-в-один-exe]]
20 +
21 +* [[Jeffrey Richter: Excerpt #2 from CLR via C#, Third Edition>>https://blogs.msdn.microsoft.com/microsoft_press/2010/02/03/jeffrey-richter-excerpt-2-from-clr-via-c-third-edition]]
22 +
23 +* [[Nuget Costura.Fody>>https://www.nuget.org/packages/Costura.Fody/]]
24 +* [[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]]