为什么要使用控制台管理程序包而不使用程序包管理窗口?原因大家都懂,生活压力这么大,一切都只是为了装一波。开个玩笑,当然不只是此原因,在有些情况下,有些操作使用程序包管理窗口不能达到目的,只能使用控制台命令才能实现,比如说,安装特定版本的程序包。
控制台命令窗口
在安装有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. 调起MT096的配置过程

    FTP::cips\/var/cics_regions/RGCIPS/database/PD/PD.RGCIPS|PD.auto 更加新的PD号(其中的路径指向新的程序ibmp),并修改FTP::ci ...

  2. WinForm实现最小化窗体时隐藏到系统托盘中

    1.首先在工具栏中选择NotifyIcon控件拖入窗体中: 2.设置NotifyIcon控件的相关属性: Icon:在系统托盘中显示的图标: Text:当鼠标移动到系统托盘图标上时显示的文本: Con ...

  3. 在linux CentOS6上安装web环境

    感谢浏览,欢迎交流=.= 都说linux作为服务器优于window,近期也是学习了下linux. win7下安装了linux虚拟机,购买linux阿里云主机,开启linux之旅. 进入正题,在linu ...

  4. 紧跟时代步伐,让我们拥抱MVC 3

    作为一个开发者,我们不希望技术很快的更新,这是因为我们还没有完全掌握原来技术的基础上,又要掌握新的技术,作为天天忙忙碌碌的程序员,我们不希望还要额外的时间来学习,尤其是当我们的年龄,逐渐的变大的时候, ...

  5. 用javascript快速清空你的人人时间轴、状态和分享

    博客已经迁移到www.imyzf.com,本站不再更新,请谅解! 现在玩人人的人越来越少了,很多人担心不玩以后东西放上面不安全..我也有同样的想法,但是手动删除上百条东西,太累了,于是写了些javas ...

  6. Dreamweaver 添加 cakephp ctp后缀名

    Dreamweaver 默认是不支持ctp文件高亮的,即使用Dreamweaver打开ctp文件,也只能像记事本一样编辑 但是我们可以通过修改两个文件,来添加Dreamweaver对ctp文件的扩展支 ...

  7. lamp环境centos5.10,phpprotobuf模块安装,及简单应用

    ==相关参考== rpm包 http://rpmfind.net/linux/rpm2html/ Linux rpm 命令参数使用详解[介绍和应用] phpize学习 http://blog.sina ...

  8. Python工程文件中的名词解释---Module与Package的区别

    当我们在已有的Python工程文件中创建新的内容是,通常会有两种类型文件供你选择---Module和Package,对于初学者来说会搞不清楚这两种文件直接的关系.这里就来解释一下这两者之间的关系. M ...

  9. json在线校验

    弄了一个在线校验,清爽无广告,欢迎大家收藏   http://www.zhhoney.com/

  10. Oracle 插入数据

    6个柜面交易 打印修改--050101 delete from tran_prints where tran_id = (select id from tran where code='050101' ...