C# NuGet包管理命令
NuGet Package Manager Console 内置于 Visual Studio 在 Windows 2012 和更高版本。 (不包含在 Visual Studio 用于 Mac 或 Visual Studio Code。)
控制台,你可以使用NuGet PowerShell 命令若要查找,安装、 卸载和更新 NuGet 程序包。 使用控制台是在包管理器 UI 不提供了如何执行操作的情况下必需的。 若要使用nuget.exe命令在控制台中,请参阅使用控制台中的 CLI nuget.exe。
例如,查找和安装的包,可使用三个简单步骤:
在 Visual Studio 中,打开项目/解决方案并打开控制台使用工具 > NuGet 包管理器 > 程序包管理器控制台命令。
查找你想要安装的程序包。 如果你已经知道此,请跳到步骤 3。
ps复制# Find packages containing the keyword "elmah"
Find-Package elmah
运行安装命令:
ps复制# Install the Elmah package to the project named MyProject.
Install-Package Elmah -ProjectName MyProject
重要
在控制台中可用的所有操作也都可以与NuGet CLI。 但是,控制台命令在 Visual Studio 和已保存的项目/解决方案的上下文中运行,并且通常完成多个其等效的 CLI 命令。 例如,安装通过控制台的包将引用添加到项目而 CLI 命令不运行。 为此,通常在 Visual Studio 中工作的开发人员喜欢使用 CLI 到控制台。
提示
许多控制台操作取决于使用已知的路径名称在 Visual Studio 中打开解决方案。 如果你有未保存的解决方案或没有解决方案,您可以看到此错误,"是未打开或保存解决方案。 请确保你已打开并保存解决方案。" 这表示控制台无法确定解决方案的文件夹。 保存未保存的解决方案,或创建和保存解决方案,如果你还没有打开,应纠正该错误。
打开的控制台和控制台控件
打开 Visual Studio 中使用控制台工具 > NuGet 包管理器 > 程序包管理器控制台命令。 在控制台中,可以排列和定位你的喜好的 Visual Studio 窗口 (请参阅自定义 Visual Studio 中的窗口布局)。
默认情况下,控制台命令运行针对特定的包源和项目中控件的窗口的顶部设置:

选择一个不同的包源和/或项目更改这些默认设置的后续命令。 覆盖而无需更改默认设置,这些设置的大多数命令支持
-Source和-ProjectName选项。若要管理的包源,选择齿轮图标。 这是一个指向快捷方式工具 > 选项 > NuGet 包管理器 > 程序包源对话框上所述包管理器 UI页。 此外,右侧为项目选择器控件清除控制台的内容:

最右边的按钮中断长时间运行的命令。 例如,运行
Get-Package -ListAvailable -PageSize 500列出上默认源 (如 nuget.org),可能需要几分钟时间运行的前 500 包。
安装的包
# Add the Elmah package to the default project as specified in the console's project selector
Install-Package Elmah
# Add the Elmah package to a project named UtilitiesLib that is not the default
Install-Package Elmah -ProjectName UtilitiesLib
请参阅安装包。
安装的包执行下列操作:
- 与默示协议的控制台窗口中显示适用的许可条款。 如果你不同意这些条款,你应立即卸载程序包。
- 在正在使用的任何引用格式添加到项目的引用。 引用随后将出现在解决方案资源管理器和适用的参考格式文件。 但是,请注意,采用 PackageReference,则需要先保存该项目才能直接看到项目文件中的更改。
- 缓存包:
- PackageReference: 在缓存包
%USERPROFILE%\.nuget\packages和锁定文件即project.assets.json更新。 packages.config: 创建packages在程序包文件入子文件夹中的解决方案根目录和副本的文件夹。package.config更新文件。
- PackageReference: 在缓存包
- 更新
app.config和/或web.config如果包使用源和配置文件转换。 - 如果项目中尚不存在,请安装任何依赖项。 中所述,这可能会更新在过程中,包版本依赖项解析。
- 如果可用,请在 Visual Studio 窗口中显示包的自述文件。
提示
安装的包的主要优势之一Install-Package在控制台中的命令时,它将对项目的引用,就像使用程序包管理器 UI。 与此相反, nuget install CLI 命令仅下载包,并不会自动添加引用。
卸载包
# Uninstalls the Elmah package from the default project
Uninstall-Package Elmah
# Uninstalls the Elmah package and all its unused dependencies
Uninstall-Package Elmah -RemoveDependencies
# Uninstalls the Elmah package even if another package depends on it
Uninstall-Package Elmah -Force
请参阅卸载包。 使用Get 包查看当前安装在默认项目中,如果你需要查找标识符的所有包。
卸载程序包执行下列操作:
- 将对包从项目 (和正在使用的任何引用格式) 的引用。 引用不再出现在解决方案资源管理器。 (你可能需要重新生成该项目才能看到它从删除Bin文件夹。)
- 反转对所做任何更改
app.config或web.config时已安装了包。 - 如果没有剩余的包使用这些依赖关系,依赖以前安装中删除项。
提示
如Install-Package、Uninstall-Package命令具有与管理在项目中,引用的好处nuget uninstallCLI 命令。
更新程序包
# Checks if there are newer versions available for any installed packages
Get-Package -updates
# Updates a specific package using its identifier, in this case jQuery
Update-Package jQuery
# Update all packages in the project named MyProject (as it appears in Solution Explorer)
Update-Package -ProjectName MyProject
# Update all packages in the solution
Update-Package
查找包
# Find packages containing keywords
Find-Package elmah
Find-Package logging
# List packages whose ID begins with Elmah
Find-Package Elmah -StartWith
# By default, Get-Package returns a list of 20 packages; use -First to show more
Find-Package logging -First 100
# List all versions of the package with the ID of "jquery"
Find-Package jquery -AllVersions -ExactMatch
请参阅查找包。 在 Visual Studio 2013 和更早版本,使用Get 包相反。
控制台可用性
在 Visual Studio 2017,NuGet 和 NuGet 包管理器将自动安装时选择任何。提供与.NET 相关的工作负荷;你就可以还单独安装它,通过检查各个组件 > 代码工具 > NuGet 包管理器在 Visual Studio 2017 安装程序中的选项。
此外,如果你缺少 NuGet 包管理器在 Visual Studio 2015 及更早版本,请检查工具 > 扩展和更新...和搜索 NuGet 包管理器扩展。 如果你无法使用 Visual Studio 中的扩展安装程序,你可以下载直接从扩展https://dist.nuget.org/index.html。
程序包管理器控制台不是当前适用于 Visual Studio for mac。 等效命令,但是,这些功能通过NuGet CLI。 适用于 Mac 的 visual Studio 也用于管理 NuGet 包存在一些 UI。 请参阅中你的项目包括 NuGet 包。
程序包管理器控制台不包括 Visual Studio 代码。
扩展包管理器控制台
某些包安装新的控制台的命令。 例如,MvcScaffolding创建等命令Scaffold下面所示,这将生成 ASP.NET MVC 控制器和视图:

设置 NuGet PowerShell 配置文件
PowerShell 配置文件,可以提供常用的命令,只要你使用 PowerShell。 NuGet 支持通常在以下位置找到 NuGet 特定配置文件:
%UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1
若要查找配置文件,请键入$profile在控制台中:
$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1
有关更多详细信息,请参阅Windows PowerShell 配置文件。
使用 nuget.exe CLI 在控制台中
若要使nuget.exe CLI可用在程序包管理器控制台中,安装NuGet.CommandLine从控制台的包:
# Other versions are available, see http://www.nuget.org/packages/NuGet.CommandLine/
Install-Package NuGet.CommandLine -Version 4.4.1
C# NuGet包管理命令的更多相关文章
- visual studio NuGet 常用包管理命令
visual studio NuGet 常用包管理命令 查找包 Find-Package [包名] Find-Package [包名] -AllVersions 安装包 Install-Package ...
- 详解.Net 如何上传自己的包到Nuget平台以及如何使用Nuget包管理器
首先需要一个Nuget账户,可以在官网注册:https://www.nuget.org.已有账户略. 需要一个ApiKeys,登录之后,在我的账户里找到ApiKeys进去; 创建ApiKeys 下载N ...
- [2016-07-15]nuget包管理器控制台下的powershell脚本介绍
博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...
- .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器
使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言 Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...
- 项目梳理7——Nuget包管理
1.添加Nuget源 nuget包管理.生成自己的nuget包.向 NuGet 添加更多程序包源 nuget的所有使用介绍 打包示例 .nuspec文件声明的是对应NuGet包的以下内容: 包更新命令 ...
- 使用腾讯云提供的针对Nuget包管理器的缓存加速服务
继阿里巴巴开源镜像站(https://opsx.alibaba.com/).华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官 ...
- 使用 NuGet 包管理器在 Visual Studio 中安装和管理包
https://docs.microsoft.com/zh-cn/nuget/consume-packages/install-use-packages-visual-studio 通过 Window ...
- NuGet包管理平台
这节来讲一下.NET下的包管理平台:NuGet. 我们做一个项目,除了自己的代码文件之外,实际上还要引用诸多代码文件,这些文件可能是我们自己封装的底层框架代码,或者为了完成某个功能而引用的工具类文件等 ...
- nuget包管理器控制台下的powershell脚本介绍
http://personball.com/powershell/2016/07/15/powershell-tips 定制自己的powershell,减少重复工作 安装一系列自己的常用nuget包 ...
随机推荐
- solr6.6 导入索引数据
1.什么是core core是solr的一个索引库,可以理解为一个数据库,core可以根据需要,创建多个. 2.创建core 例如,创建一个core,名字叫mycore,就可以用一下命令: E:\so ...
- TypeScript 实现任务队列
业务中经常会有一些批量操作的任务,比如使用 JavaScript 预加载一组图片,批量上传一些资源.如果这些任务一次性启动,势必会消耗很多资源和带宽.理想的做法应该对这些任务进行限制,比如一次只跑几个 ...
- Visio打开或取消箭头的自动吸附和自动连接
在用Visio画图时Visio的自动对齐.自动连接.自动吸附功能确实能带了很多便利.但在画连接线时,Visio总是自动连接箭头与图形的固定节点,想要微调一下连接位置,就显得很不方便,需要关闭自动连接功 ...
- Vue 进阶之路(四)
之前的文章我们已经对 vue 有了初步认识,这篇文章我们通过一个例子说一下 vue 的样式绑定. 现在我们想要是想这样一个需求,页面上有个单词,当我们点击它的时候颜色变为红色,再点击一次变为原来的颜色 ...
- [Leetcode]643. Maximum Average Subarray I
Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...
- js 对象拷贝
在JavaScript中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String),而复杂数据类型包括Object.Func ...
- Git使用详细教程(9):git log
目录 格式化 检索 显示最近提交 Git中使用git log查看提交日志 如果日志很多的话,默认会以分页方式展示 空格可以翻下一页,ctrl+b翻上一页,q退出 格式化 如果想获取每条日志的简要信息, ...
- 为什么腾讯有QQ,还要推出微信?
在微信刚出现时候,很多人奇怪,为什么腾讯有QQ,还要推出微信? 一开始,我也认为它与QQ没有什么区别.有这种看法,是因为绝大多数时候,我都仅仅只使用即时聊天功能,微信上有的语音.视频.文字等等,这些在 ...
- 探究 CSS 混合模式\滤镜导致 CSS 3D 失效问题
今天在写一个小的 CSS Demo,一个关于 3d 球的旋转动画,关于 CSS 3D,少不了会使用下面这几个属性: { transform-style: preserve-3d; perspectiv ...
- Kafka 消费者相关配置
消费者相关配置类为 org.apache.kafka.clients.consumer.ConsumerConfig 具有以下配置参数 1. GROUP_ID_CONFIG = "grou ...