.NET Package Management
What are the current offerings for .NET package management. Which are you using and what are the pros and cons?
Some examples out there today are:
- Nu
- OpenWrap
For the avoidance of doubt, I'm referring to package management systems suc开发者_如何转开发h as gem
, apt-get
, and dpkg
.
NuGet (formerly NuPack) is a free, open source developer focused package management system for the .NET
- Introducing NuGet package manager (Phil Haack)
- Introducing NuPack Package Management for .NET (Scott Hanselman)
Another package manager that is mostly dead nowadays is Horn. Even though development has mostly stopped now, I think it is/was an interesting project.
It took an interesting approach to package management, based on compiling from source code first instead of relying purely on binary packages, in a similar way to gentoo portage's ebuild. This gives the developer ultimate freedom to mix and match library versions (as opposed to waiting for project mantainers to officially update their dependencies), but as they say "with great power comes great responsibility", it is also up to the developer to make sure that the stack he compiles does work.
Of course you could play it safe and instead of building everything from trunk you could fix dependencies versions in your descriptors (for example, there is one descriptor for Castle Windsor trunk and another for Windsor 2.1).
For those that didn't want to build everything from source (which is naturally a very slow process), there was a server at hornget.net that acted as a continuous integration server and provided binary packages.
Since you referred to package management systems that are geared towards the machine, I thought I would mention chocolatey, which is like apt-get but for Windows.
FYI: I am one of the Nu/NuGet guys and I invented chocolatey for what I didn't see come over from Ruby Gems when we switched to NuGet (which were the executable type gems, NuGet is really for libraries and source code, not the products/tools/apps that come out on the other side of source). Since then chocolatey has grown to support PowerShell execution which allows you to do just about anything on Windows.
精彩评论