还在用NuGet吗?大哥FuGet了解一下

前言

你可能不知道是,NuGet已经发布10年了,从 Visual Studio 2010 第一次官方集成NuGet以来,这10年间有聚集了超过 14万 的包,这些包有超过 150万 的版本提供,大约有 155亿 的总下载量。

image

以上可见,NuGet对于我们日常开发的重要性,我们已经离不开它了。每个人都知道 NuGet,但是有人知道它的大哥 FuGet 吗? 你没看错,不是 MyGet 是 FuGet。

FuGet

FuGet 是什么呢?

你可以把 FuGet 看是一个 NuGet 的 Pro 版本,它由大神Frank A. Krueger创建。在 nuget.org 中我们只能对包进行一些简单的浏览操作,而 FuGet 提供了一种不同的视图(Web UI)去查看这些包并且你可以很方便的进行一些更加深度的查看。

同样,FuGet 也是包浏览器,但是它不仅仅可以查看包的元素而且可以查看包内部的元数据,使用这种方式你可以对你要了解的包进行更加深度的探索和学习,这个一个非常舒服的过程。

举个例子,你可以在这个地址 https://www.fuget.org/packages/DotNetCore.CAP 来查看 CAP 提供的包信息。

img

通过上面的图,我们可以看到 DotNetCore.CAP 这个包使用的框架是基于 netstandard2.0 的。还可以看到依赖的其他NuGet包都有哪些。

我们还可以通过颜色来取分框架的兼容程度。

image

它们是彩色编码的,所以你可以一眼看出来:

  • 绿色的是.NET标准版,表示可以在任何地方使用
  • 深蓝色库是特定于平台的
  • 浅蓝色库仅适用于完整的 .NET 和 Mono
  • 黄色是旧的PCL库,少用

在左边,可以看到程序集提供的命名空间,以及该命名空间下的类型,不同访问级别的类型使用不同的标注。

img

可以看到,不但能看到内部的类型信息,而且还能够看到代码,简直不能太方便。

除此之外,FuGet 还提供了一个对比不同包版本的变化的功能,以便于我们在升级包的时候,看是否有一些破坏性的更新,以及兼容性等问题。

例如,我们对比 CAP 2.4 和 2.3 版本改变了什么 API

可以看到,在 CapOptions 以及 MessageDto 种多了 Version 字段,这也正式我们在 CAP 2.4 版本中提供的新的特性隔离功能。

总结

通过以上介绍,我们可以看到 FuGet 功能还是非常强大的,是时候把它添加到你的书签里面了。另外 FuGet Web UI 的代码是完全开源的,你可以在这里 https://github.com/praeclarum/FuGetGallery 来查看相关源码,欢迎支持。

如果你觉得本篇文章对您有帮助的话,感谢您的【推荐】。

如果你对 .NET Core 有兴趣的话可以关注我,我会定期的在博客分享我的学习心得。


本文地址:http://www.cnblogs.com/savorboard/p/fuget.html
作者博客:Savorboard
本文原创授权为:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本

posted @ 2019-01-31 10:46  Savorboard  阅读(5635)  评论(7编辑  收藏  举报