NuPack is package manager for .NET introduced to help developers easily work with 3rd party libraries.

Here is great post on NuPack, I would recommend to read.

But as I promised in twitter to have blog post called “What the hack is NuPack”, I need to post this.

So,… downloading…

image

After it get downloaded and installed, we have one additional menu item in same place where we do have “add reference”:

image

So what does “Add Package Reference” do?

It takes a look on the feed for packages, where you see 3rd party you can add. On the picture below I just added AutoMapper, by clicking “Install”.

SNAGHTML65533ec

I can easily search for other components and install them. On the picture below I easily searched for my favorite ORM – Nhibernate and installed it. But if you ever worked with it you know that it depends on few other 3rd party, such as log4net, etc. Great news! They all get installed automatically.

SNAGHTML658fe5c

Physically it puts config file within your project and locate all your components under folder ”packages” along with your solution file, like below:

image

After that I got interested to know how it behaves with couple of solutions all in SAME folder, and figured out that it works just fine – it puts everything into same folder.

Everywhere I read about nupack they all declare that it is solution related, so I have one folder for solution. But as you may know I work with enterprise project and we keep all 3rd party in separate location where dozen (20-30) solutions are looking for references. And it looks that I do not have possibility to configure NuPack to put “packages” folder in another place. Or I’m missing something. Please let me know.

EDITED (Oct 17, 11:39PM): I already got an answer for my question:

image

So to shortly summarize:

NuPack allows you easily fetch whole range of different 3rd party components and momentarily add references to your projects without need to manually go and download them, then unpack and reference. Also NuPack allows you easily manage all of your components, allowing you update them and do other cool stuff. Go and check it out!