NuGet作为VS的扩展程序,已经做好了UI,我们可以通过Manage NuGet Packages
的对话框。这里我们主要说说如何通过控制台进行包管理。使用命令行的方式,其实也是有其好处,对于比较熟悉linux系统的同学就深有体会,命令行操作,灵活度很大,操作更加编辑等等。NuGet的控制台使用的是PowerShell命令行,如果在没有打开解决方案的情况下,那我们就只能通过PowerShell命令行进行程序包的安装了。

下面我们就来看看NuGet在命令行下的一些基本操作(本人使用的是VS2015 企业版中文版)。

NuGet查找程序包

打开"工具"(Tool)菜单,选择"NuGet包管理器",点击"程序包管理器控制台"。

 

这样就打开了程序包管理器的控制台窗口

 

下面我们就可以在命令行中输入命令进行操作了。在控制台的命令行中,可以输入Get-Package –ListAvailable 获取所以可以使用的程序包列表,下面和大家说个小技巧,使用过linux的同学都知道,在命令行中,我们很多时候都不需要输入完整的命令,而是在输入输入部分字母后,按Tab键进行自动补全,NuGet同样也有这样的功能,例如本例,我们输入Get-P,然后按下Tab键,然后就会自动补全完整的Get-Package命令,如果只是输入Get的情况下按Tab键, 则会列出所有可能的命令,这个就类似有VS的智能提示功能。

 

下面我们尝试输入命令Get-Package –ListAvailable,就可以看到可以使用的程序包列表,这里提醒下,-ListAvilable是命令的条件,目的是告诉命令应该执行什么样的动作,同样也支持按下Tab键进行智能提示和自动补全功能。

    

    上面的命令会输出全部的可用的程序包,如果我们选查找自定的程序包,怎么办呢?我们可以在命令行中输入Get-Package –
然后按下tab键,此时就列举出了所有的命令条件列表

    

    其中第一个 –Filter就用来筛选指定条件的的程序包,在-Filter后空格输入程序包的关键字,即可查询符合条件的程序包

我使用的是NuGet 3.3.x版本,命令行提示,新版(NuGet客户端3.0 Beta版或更高版本)可以使用 Find-Package [–Id] 查询指定条件的程序包,咱们也来试一下效果:

使用过Linux的同学都知道,很多命令我们不需要强行去记住怎么使用,因为提供强大的使用文档,只有键入 man 命令,就让输入命令的详细使用说明,那么NuGet也是一样的,如果我们想知道某个命令的详细使用,只要我们使用命令Get-Help就可以,例如在命令行中输入Get-Help Get-Package,这样就会输入Get-Package命令的详细使用说明(第一次使用Get-Help时,需要在线安装帮助文档,按照命令输入的提示操作,就可以正常安装)

 

 

NuGet安装程序包

当我们找到要安装的程序包是,下面我们就可以使用Install-Package命令,后面加上程序包名称,进行安装,例如Install-Package Log.dll。

这里需要注意的时,我们安装程序包,是要安装到某个解决方案里面,如果没有打开解决方法,进行安装时,就会报错

 

NuGet从指定的程序包源中(如上图的nuget.org)获取程序包,然后安装到选择的项目中(如上图的 WpfApplication1)。程序包的文件被复制到解决方法中,在解决方法的根目录中创建一个新的packages文件夹存放,然后自动为项目添加上引用,项目的app.config或者web.config有时候也会被自动更新。

NuGet移除程序包

如果我们不知道自己需要卸载的程序包名称的话,可以直接使用Get-Package命令获取已经安装的程序包,这里要注意和查询源中可用程序源的区别。

下面我们就可以使用Uninstall-Package命令加上包名移除该程序包,例如Uninstall-Package MahApps.Metro.Resources

移除就是安装的逆向过程,删除引用,删除文件,删除配置等

 

NuGet更新程序包

我们可以使用Get-Package –Updates命令获取需要更新的程序包列表

然后使用命令Update-Package 加上程序包ID进行程序包更新

 

 

 

    最后,说明下,这个是个人真正意义上开始写的第一个技术博客,希望自己记录下的东西,对自己,和对技术同仁有那么一点帮助!

 

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

  1. NuGet -- 使用控制台管理程序包

    为什么要使用控制台管理程序包而不使用程序包管理窗口?原因大家都懂,生活压力这么大,一切都只是为了装一波.开个玩笑,当然不只是此原因,在有些情况下,有些操作使用程序包管理窗口不能达到目的,只能使用控制台 ...

  2. 解决 vscode 中 nuget 插件无法获取包版本的问题

    解决 vscode 中 nuget 插件无法获取包版本的问题 1.问题描述 大概在今年的7月份左右,我忽然发现 NuGet Package Manager 拓展没法正常使用了,只能查询到包: 选完包之 ...

  3. 爬虫——控制台抓包和requests.post()发送请求

    控制台抓包 打开方式及常用选项 1.打开浏览器,F12打开控制台,找到Network选项卡 2.控制台常用选项 1.Network: 抓取网络数据包 1.ALL: 抓取所有的网络数据包 2.XHR:抓 ...

  4. 示例:在Nuget发布自己的包的步骤

    原文:示例:在Nuget发布自己的包的步骤 一.目的:很多时候都在用第三方的Nuget包,现成的轮子可以减少很多工作量,同时我们也可以造轮子供自己和其他人使用,本示例主要演示如何发布dll到Nuget ...

  5. VS NuGet离线包(缓存包)nupkg安装

    最近项目需要在NuGet添加一个依赖项,无奈公司开发机没网... 说出来各位看官可能不信,做开发的开发机居然没网!!!!!(那你还不赶快离职闪人) 没办法,项目需要还是得把东西扔进VS里面去,只有想办 ...

  6. vs2013中使用nuget下载cefsharp winform包

    cefsharp是chrome的一个开源项目,基于webkit的一个浏览器.下载cefsharp需要安装nuget.之后管理nuget程序包,联机搜索cef即可找到winform包.

  7. 使用CoApp创建NuGet C++静态库包

    NuGet是微软开发平台下的包管理软件,使用它你可以非常方便的将一些第三方的库.框架整合进自己的项目中,省去了不少麻烦的配置过程.但是从官方文档上来看,貌似NuGet对C++的支持不是很好,并且在现阶 ...

  8. 关于Visio Studio 2012使用Nuget获取Sqlite驱动包报错:“System.Data.SQLite.EF6”的架构版本与 NuGet 的版本 2.0.30625.9003 不兼容

    背景 笔者的VS2012版本比较老旧,是几年以前下载的.平时添加三方包和驱动包都是手动添加.后来了解到有Nuget这个工具,如获至宝.可是在使用过程中却出了不少问题. 最初,笔者尝试使用Nuget添加 ...

  9. VS 中NuGet 尝试还原程序包时出错"*"已拥有为"**"定义的依赖项

    之前从Git检出项目以后,项目编译不能通过,发现是缺少依赖的外部插件,于是通过NuGet去获取项目依赖的插件,如何通过NuGet恢复使用的插件请使用NuGet还原项目插件. 但是就是在使用NuGet还 ...

随机推荐

  1. ES6, Angular,React和ABAP中的String Template(字符串模板)

    String Template(字符串模板)在很多编程语言和框架中都支持,是一个很有用的特性.本文将Jerry工作中使用到的String Template的特性做一个总结. ES6 阮一峰老师有一个专 ...

  2. HTML5中的SSE(服务器推送技术)

    本文原链接:https://cloud.tencent.com/developer/article/1194063 SSE技术详解:一种全新的HTML5服务器推送事件技术 前言 概述 基本介绍 与We ...

  3. @Param注解在dao层的使用

    有时在前台用ajax传过来许多参数,不知道在mybatis如何封装,就要用到@Param注解了,这时就不需要在映射文件写传入参数了,这种方法虽然比较取巧,但还是很实用的,如下图:

  4. linux必会命令-查询-tail

    先说一个tail使用的例子: tail -n 20 filename 说明:显示filename最后20行. Linux下tail命令的使用方法.linux tail命令用途是依照要求将指定的文件的最 ...

  5. Tomcat详细安装配置

    1.首先是Tomcat的获取和安装. 获取当然得上Apache的官方网站下载,开源免费,而且带宽也足够.下载会很快. 这是两种不同的下载,一个是普通安装版本,一个是解压安装版本.使用起来是一样的,只是 ...

  6. 为什么方差的分母有时是n,有时是n-1 源于总体方差和样本方差的不同

    为什么样本方差(sample variance)的分母是 n-1? 样本方差计算公式里分母为n-1的目的是为了让方差的估计是无偏的.无偏的估计(unbiased estimator)比有偏估计(bia ...

  7. Where do I belong-freecodecamp算法题目

    Where do I belong(数组排序并找出元素索引) 要求 给数组排序 找到指定的值在数组的位置,并返回位置对应的索引. 思路 设定.sort()需要的返回函数 将要搜索的值添加到数组内 用. ...

  8. JS节点操作(JS原生+JQuery)

    JavaScript与JQuery节点操作   节点关系与类型 任何HTML元素,都有nodeType属性.值有1~12,常用的有: 1.元素节点 2.文本节点 8.注释节点 9.document节点 ...

  9. pycharm安装 suds模块报错:AttributeError: module 'pip' has no attribute 'main'

    需求:安装suds模块 遇到的问题: 一.报错信息:[file][Default Settint]---Project Interpreter 点击 搜索suds安装模块报错 解决:依据上图提示找到C ...

  10. C# NotifyIcon 托盘控件

    右下角以图标形式显示,双击图标显示界面,最小化界面时不显示在任务栏. 第一步:在界面上添加NotifyIcon控件. 第二步:设置notifyIcon1的属性,添加图标,将Visible设为true. ...