NuGet包管理平台
这节来讲一下.NET下的包管理平台:NuGet。
我们做一个项目,除了自己的代码文件之外,实际上还要引用诸多代码文件,这些文件可能是我们自己封装的底层框架代码,或者为了完成某个功能而引用的工具类文件等等。在.NET里边,这些可被引用的,负责完成某个可复用功能的代码,我们可以封装为动态链接库(Dynamic Link Library,.dll),也可以通俗说打包,在需要的地方,我们把这个包引用到项目中,就可以使用其功能。NuGet就是一个专门管理这些包的平台,所有开发者可以将自己的优秀代码打包上传到这个平台,供全球开发者使用。并且,在这个平台上,我们可以查看到这个包的依赖,比如这个包依赖.NET Framework 4.5的环境,那我们就知道自己的项目可不可以使用这个包,或者这个包可以还要依赖一些另外的包,我们可以清楚的了解到这一整个层级关系。
我们可以访问:www.nuget.org,来进入NuGet网站,从中搜索自己需要的包。
以QRCoder这个包为例子(www.nuget.org/packages/QRCoder)。我们可以看到它支持哪些框架,以及如何通过命令行的形式将其引用到项目中(我们稍后演示),点击中间这些页签可以查看其具体支持的框架版本,依赖及它自己的发布版本历史等等。同时在右侧这一栏中,可以看到项目网站,源代码链接,开源许可等等。通过网站中这些信息,我们可以更好地去判断自己的项目是否可以放心的使用这个包。
VisualStudio支持通过图形界面和命令行两种形式来使用NuGet引入自己需要的包,下面来为大家演示一下:
图形界面
我们可以在项目或者解决方案上点击鼠标右键,在弹出菜单中选择“管理NuGet包”进入NuGet包管理图形界面。
我们还是以QRCoder包为例子,如果从解决方案右键进入此界面,点击这一条后,右侧会显示该解决方案下所有的项目,您需要选择至少一个项目,指定哪个项目要使用这个包,同时在项目选择框下方,您可以选择要引用的版本(系统默认最新稳定版),然后点击“安装”按钮,系统开始下载并自动安装该包,安装时,系统会自动将这个包的依赖一并下载安装,我们静待安装完成即可。
安装以后,安装按钮上方的卸载按钮会被激活,如果经测试该包的功能不合适自己的项目,您可以回到此点击卸载。对于已安装的包,您可以在“已安装”这个页面查看或者在双击项目名称在配置文件中查看:
如果被引用的包出现了新版本,您可以在“更新”页面查看,是否更新,可以您自行判断。
包管理器命令行
您可以通过以下两种方式打开包管理器命令行:
点击后,会在VS页面底部弹出命令行界面:
另外,您可以指定要包的来源(Package source)和要引用的项目(Default project):
对于包的来源,您也可以点击后边的小齿轮按钮,自定义来源,对于某些在公司内部共享的包,您可以通过此界面来配置为公司内部NuGet网站:
您可以使用以下三种命令来完成包的安装,更新和卸载:
Install-Package 包名 [-Version 版本号] //安装
Update-Package 包名 [-Version 版本号] //更新
Uninstall-Package 包名 //卸载
这个方式也比较简单,在NuGet网站中,每个包的主页也能看到这些命令,您可以直接复制:
NuGet包管理平台的更多相关文章
- 详解.Net 如何上传自己的包到Nuget平台以及如何使用Nuget包管理器
首先需要一个Nuget账户,可以在官网注册:https://www.nuget.org.已有账户略. 需要一个ApiKeys,登录之后,在我的账户里找到ApiKeys进去; 创建ApiKeys 下载N ...
- .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器
使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言 Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...
- nuget 包管理器
nuget 是.Net平台上的包管理器, 对于包的发布(打包 package)和消费(下载依赖管理)都有很好的支持, 本文仅仅关注消费端, =======================nuget项目 ...
- nuget包管理器控制台下的powershell脚本介绍
http://personball.com/powershell/2016/07/15/powershell-tips 定制自己的powershell,减少重复工作 安装一系列自己的常用nuget包 ...
- [2016-07-15]nuget包管理器控制台下的powershell脚本介绍
博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...
- 华为云提供针对Nuget包管理器的缓存加速服务
在Visual Studio 2013.2015.2017中,使用的是Nuget包管理器对第三方组件进行管理升级的.而且 Nuget 是我们使用.NET Core的一项基础设施,.NET的软件包管理器 ...
- C# NuGet包管理命令
NuGet Package Manager Console 内置于 Visual Studio 在 Windows 2012 和更高版本. (不包含在 Visual Studio 用于 Mac 或 V ...
- Visual Studio 2013 更新 NuGet 包管理器
Ø 前言 使用 Visual Studio 中的 NuGet 包管理器下载程序时,有时可能出现类似的错误:. 5. 在"联机"选项中搜索"NuGet",选 ...
- 当通过Nuget包管理器获取还原组时,出现 提示 “xxxxx”已拥有为“xxxxx”定义的依赖项
当通过Nuget包管理器获取还原组件时,出现 提示 “xxxxx”已拥有为“xxxxx”定义的依赖项 时 解决方法: 工具---扩展和更新,把Nuget包管理器卸载后,重启VS,再安装,现打开VS项 ...
随机推荐
- Memcache 与 Redis 的区别都有哪些?
1.存储方式 Memecache 把数据全部存在内存之中,断电后会挂掉,数据不能 超过内存大小. Redis 有部份存在硬盘上,这样能保证数据的持久性. 2.数据支持类型 Memcache 对数据类型 ...
- java-属性集properties+加载配置文件
简介 /* 使用properties集合存储数据,遍历取出properties集合中的数据 properties集合有一些操作字符串的特有方法 Object setProperty(String ke ...
- Leetcode刷题之矩阵中的指针用法
矩阵中的指针用法 1 快慢指针 Leetcode27移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度.不要使用额外的数组 ...
- 每天坚持一个CSS——社会人
每天一个CSS-社会人 实现效果 想法 之前看到一篇博客,使用python绘制出了小猪佩奇,所以自己想试一试,采用纯html + CSS绘制出低配版的小猪佩奇. 实现思路 使用上一篇,圆与边框实现.最 ...
- css 迷惑的position
迷惑的position 小加发现实际开发中position使用频率很高,但很多人却对position不是很了解,导致开发中出现各种问题,现在让我门一起来看看这个迷惑的position吧~ static ...
- CSS3 用border写 空心三角箭头 (两种写法)
之前一直在寻找这种空心三角箭头, 终于知道了原理! 自己记录一下,顺便分享给之前跟我一样想要的撸友们~ 第一种写法 利用常见的 after伪元素 <!DOCTYPE html> <h ...
- linux系统引导过程
linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序.bootsect.s.setup.s和head.s,完成引导过程后进入到main函数运行.BIOS完成硬件的检查与初始化等工 ...
- PAT B1013 数素数
输入样例: 5 27 输出样例: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 解题思路: 从2开始 ...
- 小程序拿checkbox的checked属性
方法一.checkbox <checkbox class="round red" bindtap="checkboxChange" checked=&q ...
- Linux_文件传输工具_FileZilla
什么是FileZilla? FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能.可控性.有条理的界面和管理多站点的简化方式使得Filezilla客户端版 ...