Devs, Microsoft has recently released a tool called ILMerge.exe which can take multiple assemblies and rewrite them into a single primary assembly, optionally internalizing all public references in the dependent assemblies, while leaving the public signatures in the primary assembly unmodified.
o http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17630 There is clearly great benefit to this tool because it allows the various different pieces of the final artifact to be developed as independent artifacts, and packaged for simplicity as a final build step into a single artifact for delivery, much like the shade plugin does for Java JARs. Unfortunately, the tool seems to be Windows specific due to some unmanaged, platform-specific calls via p/invoke. However, there is another tool, called il-repack which provides equivalent functionality, is cross-platform supporting mono, and is command-line flag compatible with ILMerge.exe. o http://code.google.com/p/il-repack/ If we create an ilmerge plugin for NPanday, using ILMerge.exe by default, then the command executable can be overridden by configuration (perhaps via profile in settings.xml) to pick up il-repack on non-Windows platforms for example. Any objections to this strategy? tc, -john. -- >|< Kaazing Corporation >|< John Fallows | CTO | +1.650.960.8148 444 Castro St, Suite 1100 | Mountain View, CA 94041, USA
