Як скомпілювати всі проекти солюшени в один
Є СОЛЮШЕН (Solution). У ньому 4 проекти. Один головний, три другорядних. Головний проект використовує типи з другорядних і навпаки. Коротше все вони переплетені. Як все це скомпілювати в один .EXE файл для подальшого поширення?
UPD Оскільки схоже, що не всі зрозуміли про що мова, то постараюся доповнити своє питання.
Ось невеликий приклад: У solution Explorer видно, що в Solution додано два проект. Проект App2 залежить від проекту App1. App1 доданий в References.
Так само прописані відповідні залежності.
Якщо просто відкомпілювати цей Solution, то на виході отримаємо два файли - App2.exe і App1.dll. Таким чином, щоб додаток запрацювало, скажімо на іншому комп'ютері, потрібно переписати туди два цих файлу. Інакше станеться помилка часу виконання. Щось на зразок Could not load file or assembly. The system can not find the file specified. Так от хотілося б відкомпілювати додаток таким чином, щоб в результаті вийшов тільки один файл - App2.exe. І щоб поширювати цю програму можна було одним файлом. А файл App1.dll була як би вбудована в нього.
заданий 23 Листопада '15 о 17:08
Так, ILMerge допоміг. Додав в Post-build events ось цей рядок "$ (SolutionDir) ILMerge \ ILMerge.exe" /out:"$(TargetDir)$(TargetName).all.exe "" $ (TargetDir) $ (TargetName) .exe "" $ (TargetDir) .dll "/ target: exe /targetplatform:v4,C:\Windows\Microsoft.NET\Framework64\v4.0# 8203; .30319 / wildcards * Працює чудово! - Mikhail Danshin 23 Листопада '15 о 20:04
Кілька збірок можна склеїти в одну вже після компіляції, використовуючи утиліту ILMerge.
перед використанням шляху стоїть підправити на актуальні.
Встановлюєте пакет Costura.Fody через nuget і отримуєте один exe на виході.