Изменения документа Сборка в один .exe файл
Редактировал(а) Alexandr Fokin 2024/09/01 13:05
<
>
отредактировано Alexandr Fokin
на 2021/03/06 11:41
на 2021/03/06 11:41
отредактировано Alexandr Fokin
на 2022/10/04 19:21
на 2022/10/04 19:21
Изменить комментарий:
Update document after refactoring.
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.NET. C#.WebHome1 +Разработка.NET.Работа со сборками и исходниками.WebHome - Содержимое
-
... ... @@ -3,27 +3,28 @@ 3 3 * .exe сборки основного приложения, запускаемый файл 4 4 * .dll файлов сборок библиотек 5 5 6 + 6 6 Существует возможность объединить вышеуказщанные файлы в один .exe. Для этого существует несколько способов: 7 7 8 -1. Утилита ILMerge 9 -2. Ручное встраивание dll в ресурсов exe (Рихтер). 10 -3. Nuget пакет Costura.Fody, автоматизирующий пункт 2. 11 -[[Разработка.NET.Библиотеки.Fody]] 12 -4. Также существуют решения для ASP.NET (Рассмотреть позже) 13 -5. В NetCore 3.0 данный функционал добавлен из коробки 14 -https://docs.microsoft.com/ru-ru/dotnet/core/deploying/single-file 9 +1 Утилита ILMerge 10 + Утилита ILMerge выполняет интеграцию всех сборок в одну. При этом могут возникать конфликты. И данныйы способ не работает с WPF. 15 15 16 -1) Утилита ILMerge выполняет интеграцию всех сборок в одну. При этом могут возникать конфликты. И данныйы способ не работает с WPF. 17 -2) Данный метод продемонстрирован в книге Рихтера. Суть его в том, что внешние сборки указываются как встраеваемый ресур в основном проекте. И указывается обработчик для их извлечения 18 -Замечена особенность: если в зависимых сборках присутствуют ресурсы, то функция извлечения должна это учитывать т.к. имена сборки с ресурсами содержит постфикс. 19 -3) Данный пакет автоматизирует способ, указанный в пункте 2. 12 +2 Ручное встраивание dll в ресурсов exe (Рихтер). 13 + https://docs.microsoft.com/ru-ru/archive/blogs/microsoft_press/jeffrey-richter-excerpt-2-from-clr-via-c-third-edition 14 + Данный метод продемонстрирован в книге Рихтера. Суть его в том, что внешние сборки указываются как встраеваемый ресур в основном проекте. И указывается обработчик для их извлечения 15 + Замечена особенность: если в зависимых сборках присутствуют ресурсы, то функция извлечения должна это учитывать т.к. имена сборки с ресурсами содержит постфикс. 16 + [[Книги.CLR via C# | Джеффри Рихтер.WebHome]] 20 20 18 +3 Nuget пакет Costura.Fody, автоматизирующий пункт 2 19 + [[Разработка.NET.Библиотеки.Fody]] 20 + 21 +4 Также существуют решения для ASP.NET (Рассмотреть позже) 22 + 23 +5 В NetCore 3.0 данный функционал добавлен из коробки 24 + https://docs.microsoft.com/ru-ru/dotnet/core/deploying/single-file 25 + 26 + 21 21 Материалы 22 22 23 23 * [[Как-скомпилировать-все-проекты-солюшена-в-один-exe>>https://ru.stackoverflow.com/questions/468942/%D0%9A%D0%B0%D0%BA-%D1%81%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B2%D1%81%D0%B5-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B-%D1%81%D0%BE%D0%BB%D1%8E%D1%88%D0%B5%D0%BD%D0%B0-%D0%B2-%D0%BE%D0%B4%D0%B8%D0%BD-exe]] 24 24 25 -* [[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]] 26 -* [[Книги.CLR via C# | Джеффри Рихтер.WebHome]] 27 - 28 -* [[Nuget Costura.Fody>>https://www.nuget.org/packages/Costura.Fody/]] 29 -* [[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]]