OpenWrap和NuGet有什么区别。你喜欢什么?
答案 0 :(得分:64)
OpenWrap是一个开源项目,提供应用程序中的依赖项管理,不仅在构建时,还在运行时。
因此,我们的功能主要针对依赖项的动态解析,适用于复合WPF应用程序,Web应用程序开发或系统范围的实用程序。这使我们的实现与NuGet的实现截然不同。
所以这里有不同的东西(我可能会忘记很多,但很好)。
这只是差异所在,因为这就是你所问的内容,所以我不会打扰你和其他包经理那样做。
答案 1 :(得分:59)
只是想在NuGet方面提出一些想法。 Seb遗漏了一些值得指出的细节。
答案 2 :(得分:16)
NuGet的一个关键原则(与OpenWrap的一个重要区别)是它不会试图改变你的工作方式。相反,它可以让你更容易完成你今天已经做过的事情。
例如,假设您正在尝试使用Foo库,这取决于Bar库。今天,您必须手动查找这些库,将它们复制到您的计算机并添加对它们的引用。然后,更新的版本将会出现,你将通过类似的动作来更新它们。
在这种情况下,NuGet和OW都可以很容易地引入这些引用,但关键的区别在于NuGet以完全非侵入性的方式完成它。即它会将二进制文件放到您的机器上并以与手动完成相同的方式引用它们。完成后,您的项目文件完全“正常”,在构建或运行时与NuGet没有任何关系。
这意味着如果你通过NuGet获得一些库并将你的项目放在源代码控制中,那么另一个开发人员就可以在不需要NuGet的情况下使用你的项目了。
OpenWrap方法也有优点,但要走这条路,你必须愿意一直使用OpenWrap,并且不能轻易地离开它。
还有许多其他差异(比如NuGet中丰富的VS支持),但我认为这是两者之间最根本的区别。