为什么要使用控制台管理程序包而不使用程序包管理窗口?原因大家都懂,生活压力这么大,一切都只是为了装一波。开个玩笑,当然不只是此原因,在有些情况下,有些操作使用程序包管理窗口不能达到目的,只能使用控制台命令才能实现,比如说,安装特定版本的程序包。
控制台命令窗口
在安装有NuGet插件的VS上打开NuGet命令窗口的过程如下:依次选择菜单Tools(工具)->Library Package Manager(库程序包管理器)->Pakcage Manager Console(程序包管理器控制台)。
  • 程序包源:此下拉框可以选择要使用程序包源,默认选中 NuGet官方程序包源,当然你可以切换为自己公司内部使用的程序包源。
  • 默认项目:选择你想在哪个项目使用命令来工作,默认会自动选择第一个项目。
在使用控制台命令的过程中,很多命令的语法不需要硬背,可以随时使用get-help命令来查看帮助。

常用命令
  • Get-Package

可以使用Get-Package -ListAvailable来查看当前程序包源所有可用的程序包。

使用上述命令从NuGet官方程序包源中会获取到成千上万个程序包,如果想要查询特定的程序包,可以使用-Filter参数来进行过滤,如果我需要查找Common.Loggin程序包,那么可以使用Get-Package -ListAvailable -Filter Common.Logging (程序包名称或关键字)来进行查找,在NuGet 3.0+版本中,可以使用Find-Package命令来替换Get-Package命令。
如果不带任何参数,则可以查看当前解决方案已安装程序包列表:
  • Install-Package
当你使用Get-Package命令找到你想要安装的程序包之后,可以使用Install-Package packagename命令来安装程序包。比如使用Install-Pakcage Common.Logging来安装通用日志程序包:
NuGet在安装程序包的时候,会从指定的程序包源进行查找,同时会安装到选择的项目中(除非你使用参数另外指定)。程序包文件会下载到本地解决方案的packages目录下,同时,项目的app.config或web.config也有可能被更改。
如果要安装的程序包依赖于其他程序包,NuGet会同时下载并安装其所依赖的程序包。
  • Uninstall-Package
使用Uninstall-Package packagename可以移除当前选择项目的指定程序包。比如,Uninstall-Pakcage Common.Logging移除当前项目引用的Common.Logging程序包。
使用上述命令达到的结果:
  1. 项目引用:在解决方案资源管理器中,项目引用中的Common.Logging引用被删除
  1. packages目录:解决方案文件夹根目录下的packages目录下的Common.Logging文件夹被删除,如果packages下只有这一个目录,那么packages目录也将同时被删除;
  2. 配置文件:app.config或web.config文件中的更改被删除;
  • Update-Package
可以使用Get-Package -updates命令来查看当前已安装的程序包中是否有新版本可用:
如果想更新某个程序包,可以使用Update-Package packagename来更新指定程序包。
总结
本篇文章主要讲解了如何使用程序包控制台来进行简单的程序包管理,包括常用的查找、安装、删除及更新程序包功能。常用命令基本就是这么多,当然,本文对各个命令的应用只是其基本用法而已,如果需要更深层次的应用,可以使用Get-Help commandname来查看每个命令的详细用法,也可以直接查看官方说明文档
参考资料:

NuGet -- 使用控制台管理程序包的更多相关文章

  1. NuGet之控制台管理程序包

        NuGet作为VS的扩展程序,已经做好了UI,我们可以通过Manage NuGet Packages 的对话框.这里我们主要说说如何通过控制台进行包管理.使用命令行的方式,其实也是有其好处,对 ...

  2. 用Nuget部署程序包

    用Nuget部署程序包 Nuget是.NET程序包管理工具(类似linux下的npm等),程序员可直接用简单的命令行(或VS)下载包.好处: (1)避免类库版本不一致带来的问题.GitHub是管理源代 ...

  3. 使用NuGet加载包,发现加载的dll都是最新版,原来少加了参数[-Version]

    使用NuGet获取AutoMapper 发现无法正确加载包,项目版本是3.5,获取的dll版本较高,查资料发现可以通过 “-Version” 指定加载包版本 http://www.mamicode.c ...

  4. [Visual Studio] NuGet发布自定义包(Library Package)

    源文章:dax.net http://www.cnblogs.com/daxnet/archive/2013/05/07/3064577.html 使用NuGet发布自己的类库包(Library Pa ...

  5. NetCore入门篇:(三)Net Core项目Nuget及Bower包管理

    一.创建项目 1.如何创建项目,参照上一篇文章 二.程序包介绍 1.Net Core的程序包分前后端两种,后端用nuget,前端用bower. 2.与Net 不同,Net Core引用nuget包时, ...

  6. [nuget]VS中包管理器打开后找不到其它工程的问题

    今天新建工程做小组内用的工具,打算做个winform的项目, 用vs新建了winform项目,简单分下层吧,又加了两个类库项目, 然后,要用到的包需要nuget安装,于是发生这个问题: [VS]在so ...

  7. NuGet安装本地包命令行

    尝试安装本地的NuGet包. 键入 "get-help NuGet" 可查看所有可用的 NuGet 命令. install-package Polly.Net40Async-Sig ...

  8. NuGet修改默认包保存的位置

    NuGet默认的全局包下载地址一般为:C:\Users\{username}\.nuget\packages 修改方法: <?xml version="1.0" encodi ...

  9. Anaconda系统中管理程序包(Package)

    列出所有已安装的程序包 conda list 在已安装的程序包中查找某个特定的程序包 conda search package-name 安装程序包 conda install beautiful-s ...

随机推荐

  1. forever start Error: Cannot find module './daemon.v0.10.26'

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3590158.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  2. 九度OJ 1512 用两个栈实现队列 【数据结构】

    题目地址:http://ac.jobdu.com/problem.php?pid=1512 题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 输入: 每 ...

  3. 转:基于IOS上MDM技术相关资料整理及汇总

    一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...

  4. Convert.ToInt32()与int.Parse()的区别 (转载)

    Convert.ToInt32()与int.Parse()的区别(1)这两个方法的最大不同是它们对null值的处理:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Pa ...

  5. 算法之插入排序(inertionSort)

    插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,适用于少量数据的排序,时间复杂度为O(n^2). 插入排序属于稳定排序. 插入排序不需要构造新的数据 ...

  6. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

  7. CRF图像语义分割

    看了Ladicky的文章Associative Hierarchical CRFs for Object Class Image Segmentation,下载他主页的代码,文章是清楚了,但代码的RE ...

  8. shell写的计算器

    #!/bin/bashif [ $# -ne 3 ] then echo "Usage: $0 num1 + num2" fi case $2 in +) echo $1$2$3= ...

  9. NGUI系列教程二

    接下来我们创建一个Label,NGUI->Open the Widget Wizard,打开widgetTool对话框,在Template中选择Label,确定AddTo右侧选项为panel,点 ...

  10. vi 在行首尾添加字符串

    在行首尾添加字符串     用下列命令在文本每行的行首添加字符串“NewString”,请注意空格的存在.      :g/^/s//NewString/g     :%s/^/NewString/g ...