前言

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

以上可见,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 提供的包信息。

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

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

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

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

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

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

除此之外,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
本文原创授权为:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本

还在用NuGet吗?大哥FuGet了解一下的更多相关文章

  1. 使用NuGet时的一个乌龙

    问题描述 最近自己做的一个项目,计划开始使用NuGet来管理dll,但是遇到一个奇怪,但是结果证明是个乌龙的问题. 新建一个WebApi项目,使用NuGet管理第三方dll,其中有引用Newtonso ...

  2. UESTC_秋实大哥の恋爱物语 2015 UESTC Training for Search Algorithm & String<Problem K>

    K - 秋实大哥の恋爱物语 Time Limit: 5000/2000MS (Java/Others)     Memory Limit: 32000/32000KB (Java/Others) Su ...

  3. 【ASP.NET MVC系列】浅谈NuGet在VS中的运用

    一     概述 在我们讲解NuGet前,我们先来看看一个例子. 1.例子: 假设现在开发一套系统,其中前端框架我们选择Bootstrap,由于选择Bootstrap作为前端框架,因此,在项目中,我们 ...

  4. 使用了旧版nuget的.net项目在git中的问题

    曾几何时,使用nuget包管理项目依赖还需要将nuget执行程序及其配置文件包含在项目中. 如上图所示,在解决方案文件夹中,有专门为nuget程序设置的 .nuget 子目录. 当将项目纳入git管理 ...

  5. 2015 UESTC 搜索专题K题 秋实大哥の恋爱物语 kmp

    秋实大哥の恋爱物语 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/61 De ...

  6. cdoj1091-秋实大哥の恋爱物语 【kmp】

    http://acm.uestc.edu.cn/#/problem/show/1091 秋实大哥の恋爱物语 Time Limit: 5000/2000MS (Java/Others)     Memo ...

  7. 手动搭建自己的nuget服务器及使用

    这篇文章的主要目的: 1.搭建自己的私有的nuget服务器 2.打包代码为nuget包 3.在其他项目中使用私有服务器上的nuget包 一. 搭建自己的nuget服务器 1. 创建一个空的ASP.NE ...

  8. 一步一步搭建Nuget私服

    大致流程:1. 通过VS创建一个Web空项目,然后通过Nuget引入Nuget.Server(目前最新版3.2.1).2. 直接将这个Web项目发布到IIS.3. 通过nuget.exe打包*.nup ...

  9. 使用 nuget server 的 API 来实现搜索安装 nuget 包

    使用 nuget server 的 API 来实现搜索安装 nuget 包 Intro nuget 现在几乎是 dotnet 开发不可缺少的一部分了,还没有用过 nuget 的就有点落后时代了,还不快 ...

随机推荐

  1. ETCD相关介绍--整体概念及原理方面

    etcd作为一个受到ZooKeeper与doozer启发而催生的项目,除了拥有与之类似的功能外,更专注于以下四点. 简单:基于HTTP+JSON的API让你用curl就可以轻松使用. 安全:可选SSL ...

  2. PHP设计模式 -- 注册模式

    参考文章:https://segmentfault.com/a/1190000007495855 简介 注册树模式又称注册模式或注册器模式.注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候 ...

  3. JavaWeb(四)Servlet-1

    1.Servlet 简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet ...

  4. SpringMvc 这篇文章写得不错 多多学习2017.6.29

    http://www.cnblogs.com/bigdataZJ/p/springmvc1.html  博客园链接

  5. bootstrap学习地址2017.6.1

    http://www.runoob.com/bootstrap/bootstrap-tutorial.html

  6. Mongodb---操作备忘

     mysql/mongodb对比 CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection() ...

  7. 《javascript语言精粹》读书笔记 Item1 精华与语法

    第一章 精华 任何语言都有其精华的部分和鸡肋的部分,javascript也不例外,而且鸡肋的部分还很多.但javascript的流行却不受他的质量影响. javascript为何如此流行?因为他是we ...

  8. Java 读书笔记 (十二) Java Character 类

    在实际开发过程中, 我们经常会遇到需要使用对象,而不是内置数据类型的情况. 为了解决这个问题, Java语言为内置数据类型char提供了包装类Character类. 可以使用Character的构造方 ...

  9. BZOJ_1717_[Usaco2006 Dec]Milk Patterns 产奶的模式_后缀数组

    BZOJ_1717_[Usaco2006 Dec]Milk Patterns 产奶的模式_后缀数组 Description 农夫John发现他的奶牛产奶的质量一直在变动.经过细致的调查,他发现:虽然他 ...

  10. BZOJ_3872_[Poi2014]Ant colony_dfs

    BZOJ_3872_[Poi2014]Ant colony_dfs Description There is an entrance to the ant hill in every chamber ...