ILMerge is a great tool and Mike Barnett at Microsoft who leads the project just announced a new release.
A new release of ILMerge, v2.11.0502, is available on the Tools & Utilities Download page in the MSDN .NET Framework Developer Center (http://msdn2.microsoft.com/en-us/netframework/aa569269.aspx). It contains some small bug fixes. Also, it no longer adds a unique number to the name of duplicate types *if* the type is a compiler-defined type. ILMerge assumes that such types (for instance, generated from LINQ queries) are already uniquely named within an assembly and since the assembly name is included in the name of a duplicate type, that should suffice. If you find out that this is not true, then please let me know!
The direct link to the ILMerge page is:
For version 2.11.0502, the direct link to the .msi file is:
REMEMBER: please make sure to keep your old version while trying out the new one to see if it works for you.