C# – a real-world application for HORN


I've been hearing a bit about HORN lately, and wonder what problems it can solve or how a real life situation of using it is beneficial.


Best Solution

I have written most of the code for horn and the objective is to be a package manager with an analogy with rubygems.

We want to up OSS adoption by making it ridiculously obvious to get and use OSS packages.

For example if I want Nhibernate we can simply command:

horn -install:nhibernate


We also want to smooth the upgrade path.

A lot of .NET OSS uses other OSS and they generally all have differing version of oss.

For example MVCContrib might use one version of Castle, rhino might use another and Nhibernate might use another.

If we do the following:

horn -install:nhibernate horn -install:rhino horn -install:mvccontrib

Then we should all have the same versions of all .dlls.

So to sum up, we want to get packages and make sure that all packages we get from horn have the same version of dependencies e.g. Castle.

The way horn works is by downloading all source code to the client and building it.

Our next steps are to turn horn into a server tool.