В платформе .Net по умолчанию приложение состоит из:

  • .exe сборки основного приложения, запускаемый файл
  • .dll файлов сборок библиотек

Существует возможность объединить вышеуказщанные файлы в один .exe. Для этого существует несколько способов:

  1. Утилита ILMerge
    2. Ручное встраивание dll в ресурсов exe (Рихтер).
    3. Nuget пакет Costura.Fody, автоматизирующий пункт 2.
    4. Также существуют решения для ASP.NET (Рассмотреть позже)
    5. В NetCore 3.0 данный функционал добавлен из коробки

1) Утилита ILMerge выполняет интеграцию всех сборок в одну. При этом могут возникать конфликты. И данныйы способ не работает с WPF.
2) Данный метод продемонстрирован в книге Рихтера. Суть его в том, что внешние сборки указываются как встраеваемый ресур в основном проекте. И указывается обработчик для их извлечения
3) Данный пакет автоматизирует способ, указанный в пункте 2.

Материалы

Теги: c# assembly