NuGet的简单使用
什么是NuGet?
NuGet(读作New Get)是用于微软.NET开发平台的软件包管理器,是一个Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,NuGet能够令你在项目中添加、移除和更新引用的工作变得更加快捷方便。
通过NuGet你可以很容易的访问到其他开发者发布的软件包,你也可以创建、分享或者发布自己的包到NuGet。微软的EntityFramework、ASP.NET MVC等或者一些常用到的第三方软件包:Json.NET、NUnit等都托管到NuGet上。
为什么要用NuGet?
上面说道NuGet实际上就是一个软件包的托管平台。用过VS的人可能都知道一个叫做VisualStudioGallery的网站,通过这个网站你可以下载使用一些VS的扩展工具、项目模板或者一些常用的软件包,VS中也提供了一个叫做“扩展和更新”的工具能够让你轻松的访问到VisualStudioGallery中的内容。
那么NuGet和VisualStudioGallery有什么区别?我们为什么要用NuGet?
NuGet和VisualStudioGallery的区别
首先NuGet是VS的一个扩展,而VisualStudioGallery是VS扩展的一个托管平台,所以NuGet是包含在VisualStudioGallery内的,其次NuGet和VisualStudioGallery的关注点不同,VisualStudioGallery主要是服务于VS为VS提供插件托管服务的平台,
而NuGet是.NET软件包的管理平台,是为我们项目中使用的软件包提供托管服务的。在项目开发中难免会引用一些其他人开发的类库,NuGet就是为了方便我们引用各种类库而存在的。为什么要用NuGet?
一个大的项目不可能所有的功能都要自己去实现,有句话说的好:“不要轻易造轮子”,最简单直接的办法就是使用别人造好的“轮子”。通常引用一个类库到我们的项目中要先下载或找到类库,然后复制到项目目录,最后添加引用。
如果我们引用的类库有更新的版本并且我们想使用的话又要重新添加引用,一两个倒还好,如果引用数量较多的话重复添加引用是比较麻烦和枯燥的,并且要卸载引用的时候还是要经过几个步骤。
这也就是为什么推荐使用NuGet的原因,NuGet能够让我们轻松的实现对软件包的引用、更新和卸载。
NuGet怎么使用?
前面已经说了什么是NuGet以及我们为什么要用NuGet,接下来我就通过一个简单的控制台程序来说说怎么用NuGet。
1.安装NuGet
你可以从VS的扩展和更新中安装NuGet。

或者从NuGet官方下载安装包。

2.使用NuGet可视化管理器
通过可视化的NuGet管理器你可以浏览当前项目已经安装的包或者浏览、搜索其他的包。


我们选中Newtonsoft.Json,在右侧就会出现Newtonsoft.Json的详细信息,选中要将Newtonsoft.Json下载到的项目,然后点击安装。NuGet会在解决方案目录下创建packages目录并将包下载到该目录
下载完成后VS会自动将Newtonsoft.Json添加到我们的引用。

通过这个管理器你可以方便的对你引用的包进行可视化管理。

3.使用NuGet控制台管理器
除了可视化的管理器外NuGet也为我们提供了一个控制台应用,通常我更喜欢使用控制台管理器,因为使用简单的命令我就能对包进行管理。
打开NuGet控制台管理器。
通过
Install-Package “包名”这个命令我们就能完成对Newtonsoft.Json这个包的引用。
除此之外还可以通过
get-help NuGet来获取其他命令的信息。
Get-Package:获取当前已经安装的包UnInstall-Package:卸载某个包Update-Package:升级某个包
等常用命令,更多命令以及NuGet的详细内容可以查看NuGet官方文档
总结
NuGet的存在使得我们不需要过多的去考虑引用软件包方面的各种问题,我们只需要记住几个简单的命令就能轻松的实现对软件包引用。但它的作用不仅于此,你还可以创建自己的软件包并发布到NuGet上
供他人使用,你也可以搭建自己的服务器来托管你的软件包,这个对于大公司来说很实用,可以将内部开发的软件包统一托管起来,并且方便使用。后面我会继续深入的分析NuGet的使用。
NuGet的简单使用的更多相关文章
- Nuget调用简单封装.
1. 项目引用Dapper作为直接访问, 为了使用方便, 封装一下.达到效果: - 数据库连接配置在webconfig.xml中. - 常用调用方法封装. 调用: //可以采用单例模式. //全局实 ...
- Net包管理NuGet(3)搭建私服及引用私服的包
1,打开vs创建项目(ASP.NET WEB空项目)假设命名为MyNuGet 空项目解决方案如图 2,右键引用>管理NuGet程序包>切到浏览搜索NuGet.Server然后安装(3.1. ...
- Nuget快捷实践
Nuget快捷实践 简介 本文主要包含三个部分,即创建nuget包.上传nuget包和删除nuget包.旨在引导快速使用nuget打包和使用,并实现对于nuget的简单管理. 本文使用的nuget服务 ...
- 记一次结巴分词.net core 2.0版 nuget发布过程
最近用到分词考虑很久,选用了结巴分词,原因见博客Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考 既然选好了,难就开始行动吧 . 查了.ne ...
- Docker - 使用 Nexus3 搭设私有 NuGet 仓库
目录 前言 NuGet Nexus 私有仓库 说明 安装 Nexus 拉取 Nexus 镜像 运行 Nexus Nexus NuGet 仓库简单使用 Nexus 默认帐号 Repositories 上 ...
- NHibernate系列文章二:创建NHibernate工程
摘要 这篇文章介绍了如何创建一个简单的使用NHibernate的控制台应用程序,包括使用NuGet.简单的配置.单表映射.对NHibernate配置文件添加智能提示.使用ISessionFactory ...
- CQRS学习——集成ASP.NET Identity[其五]
[其实和Cqrs没啥关系] 缘由 其实没啥原因,只是觉得以前写了不知多少遍的用户登录复用性太差,实现的功能也不多. 依赖的Nuget包 简单登陆 就简单登陆而言,只需要实现如下接口/抽象类: Stor ...
- 使用RpcLite构建SOA/Web服务(Full .Net Framework)
使用RpcLite构建SOA/Web服务(Full .Net Framework) SOA框架系列 1. 使用RpcLite构建SOA/Web服务 2. 使用RpcLite构建SOA/Web服务(Fu ...
- 一键安装各个版本boost库(无需编译)
1.NuGet 最简单的,用VS自带的NuGet包管理器安装,一般比较常用的上面都有 2.下载exe安装包 在这里https://sourceforge.net/projects/boost/file ...
随机推荐
- 按比例缩放DIV
class ResponsiveDiv extends React.Component { constructor(props) { super(props); this.state = { widt ...
- ISP PIPLINE (六) 3A 综述
前言: 上一篇文章: ISP PIPLINE (五) Denoise 下一篇文章: (1)3A定义包括什么 Iris:自动光圈,根据环境自动调节光圈. 既然讲到光圈,就先看一下光圈是什么,以及它如何影 ...
- ubuntu下vim使用方法
按下's'可对文本进行编辑 按下'ESC'再输入':',之后输入wq是保存再退出,输入q是直接退出.如果是只读read only模式则需要输入'wq!'保存退出.
- 13树莓派手动安装Home Assistant
2017-09-05 00:53:02 https://home-assistant.io/docs/installation/raspberry-pi/ 已经安装步骤安装了带桌面的树莓派系统,在SD ...
- MongoDB 组合多个条件查询($and、$in、$gte、$lte)
一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime.比如 timeS ...
- Resource Allocation of Yarn
关键词:yarn 资源分配 mapreduce spark 简要指南 适合不想看太多原理细节直接上手用的人. 基本原则: container分配的内存不等于机器实际用掉的内存.NM给container ...
- 存储库之MongoDB、mysql
本篇导航: 简介 MongoDB基础知识 安装 基本数据类型 CRUD操作 其它 存储库之mysql 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库1.易用性 MongoDB是 ...
- Nginx配置:nginx如何配置跳转fpm
location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_inf ...
- Wireshark简单使用教程3——附视频
视频https://www.bilibili.com/video/av35763613?from=search&seid=10176480091153063668 目录 抓取干净流量包的用处所 ...
- HttpClient参观记:.net core 2.2 对HttpClient到底做了什么?
.net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP Client Performance Im ...