前言

你可能不知道是,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. 传统IT公司/创业公司/互联网大公司的offer如何选择?[转载+原创]

    背景介绍: 第一家工作的公司是一家跨国外企安全公司, 骄傲的称自己不是互联网公司而是传统软件公司, 第二家公司是当下最热的知识分享社区, 创业公司. 第三家公司是挤走谷歌, 曾一度称霸中国的搜索引擎公 ...

  2. 第八章——降维(Dimensionality Reduction)

    机器学习问题可能包含成百上千的特征.特征数量过多,不仅使得训练很耗时,而且难以找到解决方案.这一问题被称为维数灾难(curse of dimensionality).为简化问题,加速训练,就需要降维了 ...

  3. poj~1904

    Description Once upon a time there lived a king and he had N sons. And there were N beautiful girls ...

  4. 【读书笔记】《Maven实战》第6章 仓库

    6.1什么是Maven仓库? Maven仓库:存储所有Maven项目共享的构件的统一位置. Maven仓库的作用:Maven项目仅需声明依赖坐标,即可在需要的时候自动根据坐标找到仓库中的构件. 6.2 ...

  5. dqname_widnows.go

    package nsqd // On Windows, file names cannot contain colons. func getBackendName(topicName, channel ...

  6. Travel 并查集

    题意:给一个图,若干询问,每次询问只经过边权<=w的边,x能到达的点数 并查集啊,对询问和边排序,直接合并,维护size,查询 #include<cstdio> #include&l ...

  7. BZOJ_3503_[Cqoi2014]和谐矩阵_高斯消元

    BZOJ_3503_[Cqoi2014]和谐矩阵_高斯消元 题意: 我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1.一个元素相邻的元素包括它本身,及他上下左右的4个元素(如果 ...

  8. BZOJ_3670_[Noi2014]动物园_KMP

    BZOJ_3670_[Noi2014]动物园_KMP Description 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的 ...

  9. Java Native Interface调用C++代码

    概述 Java Native Interface译为Java原生接口,简称JNI.Java并不是完美的,它的不足体现在运行速度要比传统的C++慢上许多,并且无法直接访问到操作系统底层,为此Java提供 ...

  10. 分布式系统关注点(15)——「水平&垂直切分」详解

    如果第二次看到我的文章,欢迎右侧扫码订阅我哟~