ILMerge for NuGet?

Apr 7, 2011 at 6:17 AM

I'm just learning NuGet so please bear with me... I have two projects that I use ILMerge to combine.  Can I use NuGet to get ILMerge?

Thanks.

-josh

Coordinator
Apr 7, 2011 at 6:19 AM

I don’t think ILMerge is in NuGet. You can check http://nuget.org/ and click on Packages and do a search. In general, NuGet is used to install libraries that your project would reference. ILMerge is a utility that wouldn’t be referenced by your project. I’m not sure its license allows redistribution as a package. In that case, it probably won’t show up in here.

Phil

Apr 7, 2011 at 6:23 AM
Edited Apr 7, 2011 at 6:23 AM

Yea, I didn't see anything.

Most people use ILMerge to combine say a dll and a .exe from two csprojs as a post-build event in Visual Studio.

I suppose I was trying to understand if nuget could also be used to obtain libraries/utilities used in post-build events.

Coordinator
Apr 7, 2011 at 6:25 AM

In theory, you could have NuGet bring ilmerge.exe into your tools folder. But that’s about it.

Most likely, you’ll want to set up ilmerge in your build server or set it up manually as a post-build step. Right now, there’s no built-in support for a NuGet package to setup post build events for you, though even that’s possible by using an install.ps1 in a package.

Phil

Apr 10, 2011 at 10:36 PM
In a side discussion with Mike Barnett, the maintainer of ILMerge,
I've set up a chocolatey nuget
(http://nuget.org/List/Packages/chocolatey) distribution for ILMerge
(http://nuget.org/List/Packages/ilmerge).

This means that once you have chocolatey (v0.9.4) installed, you can
simply type
cinst ilmerge
which is shorthand for
chocolatey install ilmerge

from the nuget powershell console, or from any command line on your computer.

and it will download ILMerge from the official location and bring up
the installer. I wanted it to be a silent installer like most of the
other chocolatey nuget packages, but Mike and I agreed that showing
license acceptance is important and better to stay on the safe side
(versus verbage in chocolatey that states you accept the license terms
of any package you install through chocolatey - although the verbage
is there now in v0.9.4). If you are already running chocolatey, you
can upgrade it by typing
chocolatey upgrade chocolatey

Here's a photo of the ILMerge install in action:
http://dl.dropbox.com/u/9391884/ChocolateyILMerge.png

For some of you who may not know what chocolatey is, think apt-get for
Windows. It's also good for anyone who wants to distribute tools as
nuget packages.

For example, type 'cinst nunit' on the command line.
when it finishes, type 'nunit' on the command line.


On 4/7/11, Haacked <notifications@codeplex.com> wrote:
> From: Haacked
>
> In theory, you could have NuGet bring ilmerge.exe into your tools folder.
> But that’s about it.Most likely, you’ll want to set up ilmerge in your build
> server or set it up manually as a post-build step. Right now, there’s no
> built-in support for a NuGet package to setup post build events for you,
> though even that’s possible by using an install.ps1 in a package.Phil
>
>


--
____
Rob
"Be passionate in all you do"

http://devlicio.us/blogs/rob_reynolds
http://ferventcoder.com
http://twitter.com/ferventcoder