还在用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 的就有点落后时代了,还不快 ...
随机推荐
- ETCD相关介绍--整体概念及原理方面
etcd作为一个受到ZooKeeper与doozer启发而催生的项目,除了拥有与之类似的功能外,更专注于以下四点. 简单:基于HTTP+JSON的API让你用curl就可以轻松使用. 安全:可选SSL ...
- PHP设计模式 -- 注册模式
参考文章:https://segmentfault.com/a/1190000007495855 简介 注册树模式又称注册模式或注册器模式.注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候 ...
- JavaWeb(四)Servlet-1
1.Servlet 简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet ...
- SpringMvc 这篇文章写得不错 多多学习2017.6.29
http://www.cnblogs.com/bigdataZJ/p/springmvc1.html 博客园链接
- bootstrap学习地址2017.6.1
http://www.runoob.com/bootstrap/bootstrap-tutorial.html
- Mongodb---操作备忘
mysql/mongodb对比 CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection() ...
- 《javascript语言精粹》读书笔记 Item1 精华与语法
第一章 精华 任何语言都有其精华的部分和鸡肋的部分,javascript也不例外,而且鸡肋的部分还很多.但javascript的流行却不受他的质量影响. javascript为何如此流行?因为他是we ...
- Java 读书笔记 (十二) Java Character 类
在实际开发过程中, 我们经常会遇到需要使用对象,而不是内置数据类型的情况. 为了解决这个问题, Java语言为内置数据类型char提供了包装类Character类. 可以使用Character的构造方 ...
- BZOJ_1717_[Usaco2006 Dec]Milk Patterns 产奶的模式_后缀数组
BZOJ_1717_[Usaco2006 Dec]Milk Patterns 产奶的模式_后缀数组 Description 农夫John发现他的奶牛产奶的质量一直在变动.经过细致的调查,他发现:虽然他 ...
- BZOJ_3872_[Poi2014]Ant colony_dfs
BZOJ_3872_[Poi2014]Ant colony_dfs Description There is an entrance to the ant hill in every chamber ...