还在用NuGet吗?大哥FuGet了解一下
前言
你可能不知道是,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了解一下的更多相关文章
- 使用NuGet时的一个乌龙
问题描述 最近自己做的一个项目,计划开始使用NuGet来管理dll,但是遇到一个奇怪,但是结果证明是个乌龙的问题. 新建一个WebApi项目,使用NuGet管理第三方dll,其中有引用Newtonso ...
- UESTC_秋实大哥の恋爱物语 2015 UESTC Training for Search Algorithm & String<Problem K>
K - 秋实大哥の恋爱物语 Time Limit: 5000/2000MS (Java/Others) Memory Limit: 32000/32000KB (Java/Others) Su ...
- 【ASP.NET MVC系列】浅谈NuGet在VS中的运用
一 概述 在我们讲解NuGet前,我们先来看看一个例子. 1.例子: 假设现在开发一套系统,其中前端框架我们选择Bootstrap,由于选择Bootstrap作为前端框架,因此,在项目中,我们 ...
- 使用了旧版nuget的.net项目在git中的问题
曾几何时,使用nuget包管理项目依赖还需要将nuget执行程序及其配置文件包含在项目中. 如上图所示,在解决方案文件夹中,有专门为nuget程序设置的 .nuget 子目录. 当将项目纳入git管理 ...
- 2015 UESTC 搜索专题K题 秋实大哥の恋爱物语 kmp
秋实大哥の恋爱物语 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/61 De ...
- cdoj1091-秋实大哥の恋爱物语 【kmp】
http://acm.uestc.edu.cn/#/problem/show/1091 秋实大哥の恋爱物语 Time Limit: 5000/2000MS (Java/Others) Memo ...
- 手动搭建自己的nuget服务器及使用
这篇文章的主要目的: 1.搭建自己的私有的nuget服务器 2.打包代码为nuget包 3.在其他项目中使用私有服务器上的nuget包 一. 搭建自己的nuget服务器 1. 创建一个空的ASP.NE ...
- 一步一步搭建Nuget私服
大致流程:1. 通过VS创建一个Web空项目,然后通过Nuget引入Nuget.Server(目前最新版3.2.1).2. 直接将这个Web项目发布到IIS.3. 通过nuget.exe打包*.nup ...
- 使用 nuget server 的 API 来实现搜索安装 nuget 包
使用 nuget server 的 API 来实现搜索安装 nuget 包 Intro nuget 现在几乎是 dotnet 开发不可缺少的一部分了,还没有用过 nuget 的就有点落后时代了,还不快 ...
随机推荐
- UISegmentedControl在Swift中的使用
UISegmentedControl控件是分段显示控件,用户可以选择它上展示的任一段部分,每一个部分都像是一个按钮,如果被按下也会像UIButton一样执行相应的方法.在这篇文章中我们将创建一个UIS ...
- Ubuntu安装和卸载.bundle格式的VMware
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=628 前言: 本文中用于演示的.bundle文件是VMware-Workstation-Full-14.1.1-75 ...
- 剑指Offer常见问题整理
1 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.(来自牛客网,剑指offer) ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...
- 一个bug分析 ----------换个角度,有另外一个天地
有个接口是按修改时间(updated_time)排序的 优化后,有人反馈接口的返回值有问题 查了一下,反馈的数据是推荐过的(推荐操作是会更新updated_time的). 然后就认为是有人进行了推荐操 ...
- status.go
))) return key }
- 【BZOJ 4016】 [FJOI2014]最短路径树问题
题目链接: TP 题解: 我就是个智障.明明是道大水题,硬是拖了6h. 关于这道题我唯一想说的就是,记得更新拆分后的子树大小!!!我就是ZZ恒(QwQ. 代码: #define Troy 10/26 ...
- BZOJ_4128_Matrix_矩阵乘法+哈希+BSGS
BZOJ_4128_Matrix_矩阵乘法+哈希+BSGS Description 给定矩阵A,B和模数p,求最小的x满足 A^x = B (mod p) Input 第一行两个整数n和p,表示矩阵的 ...
- Spring源码学习
Spring源码学习--ClassPathXmlApplicationContext(一) spring源码学习--FileSystemXmlApplicationContext(二) spring源 ...
- Docker 镜像之进阶篇
笔者在<Docker 基础 : 镜像>一文中介绍了 docker 镜像的基本用法,本文我们来介绍 docker 镜像背后的技术原理. 什么是 docker 镜像 docker 镜像是一个只 ...