.NET Package Management
Asked Answered
D

3

7

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:

For the avoidance of doubt, I'm referring to package management systems such as gem, apt-get, and dpkg.

Darmit answered 4/9, 2010 at 12:14 Comment(3)
A brief but decent related article is available here: hyr.mn/post/.NET-Packages-for-Great-GoodDarmit
a very comprehensive diff between these two https://mcmap.net/q/335104/-openwrap-vs-nuget-closedDistracted
I'd also look at Refix (refix.codeplex.com)Bowden
S
12

NuGet (formerly NuPack) is a free, open source developer focused package management system for the .NET

Shakhty answered 6/10, 2010 at 15:34 Comment(2)
FYI Being renamed to "NuGet" due to naming conflict: feeds.haacked.com/~r/haacked/~3/G8vIGk7K_3I/…Fireboard
Sorry but nuget doesn't solve dependency management problem. I'd call it dependency download tool.Bowden
A
3

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.

Alienor answered 25/9, 2010 at 14:8 Comment(3)
The thing is very often you can't compile your dependency as it requires a special dev env/libraries/platform etc.Bowden
@aloneguid: it's not the case in .NET OSS projects.Alienor
It is. Any dependency on native dll/so makes referencing source code practically impossible.Bowden
H
2

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.

Harrow answered 13/7, 2012 at 4:23 Comment(1)
Sounds interesting. I'll check it out. Thanks.Darmit

© 2022 - 2024 — McMap. All rights reserved.