.NET 包管理的当前产品是什么。您正在使用哪个,有什么优点和缺点?
今天的一些例子是:
为免生疑问,我指的是包管理系统,例如gem
、apt-get
和dpkg
.
NuGet(以前称为 NuPack)是一个免费的、开源的、专注于 .NET 的包管理系统
另一个现在几乎死掉的包管理器是Horn。尽管开发现在大部分已经停止,但我认为这是/曾经是一个有趣的项目。
它采用了一种有趣的包管理方法,首先从源代码编译,而不是纯粹依赖二进制包,类似于gentoo portage 的 ebuild。这给了开发人员混合和匹配库版本的最大自由(而不是等待项目维护人员正式更新其依赖项),但正如他们所说的“权力越大责任越大”,这也取决于开发人员确保他编译的堆栈确实有效。
当然,您可以安全地使用它,而不是从主干构建所有内容,您可以在描述符中修复依赖项版本(例如,Castle Windsor trunk有一个描述符,Windsor 2.1有另一个描述符)。
对于那些不想从源代码构建所有东西的人(这自然是一个非常缓慢的过程),hornget.net 上有一个服务器充当持续集成服务器并提供二进制包。
既然您提到了面向机器的包管理系统,我想我会提到Chocolatey,它类似于 apt-get 但适用于 Windows。
仅供参考:我是 Nu/NuGet 人之一,我发明了巧克力,因为当我们切换到 NuGet 时,我没有看到来自 Ruby Gems 的东西(它们是可执行类型的 gem,NuGet 真的是用于库和源代码,而不是源另一端出现的产品/工具/应用程序)。从那时起,chocolatey 已经发展到支持 PowerShell 执行,它允许您在 Windows 上执行任何操作。