Let's Pack! Nubular, HornGet and NuPack

October 08, 2010 | Visual Studio

Update: At the time of this writting NuGet was called NuPack.

Package Management is not easy, unless you are doing very (very) small projects. It can be quite complex if your project is  developed in-house for a company (enterprise).

If you haven't tried anything yet, have a look at the following Package Management tools:

Nubular was pretty much the same with RubyGems.org There are pre-uploaded packages that you can download and use in your project. For example, to use Castle Active Record you don't need to follow the steps described here. Just grab the package, unpack and you are done. 

What many don't understand is the situation where you reference for example Moq, AutoMapper and Castle Windsor, all in one project (version numbers are fictional):

HornGet was able to deal with this situation, it could build Moq using the latest and greatest, AutoMapper and Windsor too. You end up with three assemblies that referenced the same version of the depenency/ies.

Even if you choose this path, it is the hardest one because you need to run all the unit-tests in the projects (Moq, AutoMapper, Windsor) and make sure they pass with the latest version in /trunk of DynamicProxy. And this is not enough, you need to run all the tests (unit and intergration) of your project. After all the above pass, you can go home early. But I am sure that it is already early afternoon and you spent at least 4 hours doing this.

Of course you may not choose to go with this path and install the different versions of Castle.DynamicProxy.dll in GAC. That way Nubular worked great!

NuPack is a new Package Management tool for the .NET Framework that aims to make your life a lot more easier. It integrates with Visual Studio 2010 and there are a some interesting people behind it.

Have a look at the documentation and start using it.