I just had to post about this little tool ! I think all people who are busy in software development using .Net, should at least have a look at it .
Best way to explain a tool is by giving an example : Imagine you have several .Net projects that, all of them, create separate dll's ! This is not uncommon and you probably designed your projects this way, because they reflect some sort of internal business architecture... so no worries here. But on the other hand you probably also have some solutions that incorporate several projects, who have some kind of common link between them. So wouldn't it be nice if you could get all those projects, that are linked one way or another, inside one dll instead of separated ones ?
Well with ILMerge you can accomplish this ! It will combine several input dll's into one target dll or even better, combine an exe and several dll's into just one exe ! Another example is to combine code dll's together with their resource assemblies !
This procedure is of course only relevant for deployment of your software, so developers don't have to perform this step and still can program with the complete original dll base ! But before packaging the software, it would be ideal to merge several dll's to get a cleaner, smaller install package.