
Обычно результатом компиляции проекта является сборка (assembly) проекта, а также его зависимости (Referenced Assemblies). Однако иногда нужно чтобы результатом был один файл единственный файл, независимый от других сборок. Например простая утилита, которую можно будет куда угодно скопировать и она будет работать.
Пример
Условно говоря после:
compile App\App.csproj
dir App\bin\Release Получаются:
App.exe
dep1.dll
dep2.dll Нам же нужно лишь один самодостаточный
App.exe То есть содержащий в себе
dep1.dll и
dep2.dll
На Хабре уже присутствует
решение со встраиванием зависимостей в ресурсы, здесь я покажу как это сделать с помощью
ILMerge и Post Build Event в Visual Studio.