
рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛, рд╕рд╛рде рд╣реА рдЗрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ (рд╕рдВрджрд░реНрднрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА) рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрднреА-рдХрднреА рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓, рдПрдХ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓, рдЕрдиреНрдп рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЬрд┐рд╕реЗ рдХрд╣реАрдВ рднреА рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг
рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмреЛрд▓рдирд╛:
рд╕рдВрдХрд▓рди рдХрд░реЗрдВ App \ App.csproj
dir App \ bin \ рд░рд┐рд▓реАрдЬрд╝
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ:
App.exe
dep1.dll
dep2.dll
рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЖрддреНрдордирд┐рд░реНрднрд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ
App.exe
рд╡рд╣ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ
dep1.dll
рдФрд░
dep2.dll
рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмреЗ рдкрд░ рдПрдХ
рд╕рдорд╛рдзрд╛рди рд╣реИ , рдпрд╣рд╛рдВ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ
ILMerge рдФрд░ рдкреЛрд╕реНрдЯ рдмрд┐рд▓реНрдб рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВред
рд╕реНрд░реЛрдд рдХреЛрдб
рдЙрдкрдХрд░рдг
ILMerge - рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд░рд┐рд╕рд░реНрдЪ рдХрд╛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред
merge_all.bat - рд╣рдо рдЗрд╕реЗ рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рдИрд╡реЗрдВрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЯреНрд░реЗрдирд┐рдВрдЧ
ILMerge рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
%PROGRAMFILES%\ILMerge\ILMerge.exe
рдХреЛ рдлрд╝реЛрд▓реНрдбрд░
${SolutionDir}ILMerge\
%PROGRAMFILES%\ILMerge\ILMerge.exe
рдореЗрдВ
%PROGRAMFILES%\ILMerge\ILMerge.exe
рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░,
рдорд░реНрдЬ_рдЕрд▓реИрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
[рдкреНрд░реЛрдЬреЗрдХреНрдЯ-> рдЧреБрдг-> рдмрд┐рд▓реНрдб рдИрд╡реЗрдВрдЯ-> рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рдИрд╡реЗрдВрдЯ] рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
"$(SolutionDir)\ILMerge\merge_all.bat" "$(SolutionDir)" "$(TargetPath)" $(ConfigurationName)
рд╕рд╛рдордЧреНрд░реА рдорд░реНрдЬ рдХрд░реЗрдВ
$ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рд╕рднреА рд╡рд┐рдзрд╛рдирд╕рднрд╛рдПрдВ рдПрдХ рдореЗрдВ рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рдПрдВрдЧреАред рдпрджрд┐ рдбрд┐рдмрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди $ рдЖрдЙрдЯрдкреБрдЯ \ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣реИ, рддреЛ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдкрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк $ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╡рд┐рд▓рдп рдХреИрд╕реЗ рд╣реБрдЖ рдФрд░ рдХрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреА рдЧрдИред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╕рдордЭрд╛рддреА рд╣реИрдВ рдХрд┐ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рд╡рд┐рдХрд▓реНрдк .NET 4 рд╣реИред
@ECHO OFF rem
рдпреБрдкреАрдбреА:рд▓рд╛рдЗрд╕реЗрдВрд╕
ILMerge рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ:
рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ:
ILMerge рдХреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рднрд╛рд╖рд╛ рдиреЗ рдХрдИ рд╕рд╡рд╛рд▓ рдЙрдард╛рдП рд╣реИрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдирд╣реАрдВ рд╣реИред рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдирд╣реАрдВ рд╣реВрдВ (рдФрд░ рди рд╣реА рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ!) рдПрдХ рд╡рдХреАрд▓ред
рдпрд╣реА рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдорд░реНрдЬ рдХрд┐рдП рдЧрдП dll рдХреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрд▓рд╛ рд╕рд╡рд╛рд▓ рдмрдирд╛ рд░рд╣рд╛ред
рд╡рд┐рдкрдХреНрд╖
- beliakov : ILMerge рдореЗрдореЛрд░реА рдПрдХ рд╣рд┐рдкреНрдкреЛ рдХреА рддрд░рд╣ рдЦрд╛рддреА рд╣реИ ... рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА
- рдмреНрд░реИрдиреНрдбрд╛рдореЗрдбреЗрдб : рдХреБрдВрдЬреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ, рдмрджрд▓реЗ рдореЗрдВ, рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдФрд░ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рд╣реИрдВред
рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдг
рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА