此文章介绍怎样使用PowerShell命令行寻找、安装、移除和更新NuGet包。你也能使用管理NuGet包来完成。更多信息,请看使用管理NuGetr对话框
如果你想在不打开解决方案的前提下安装包,需要使用PowerShell命令行。对于一些创建了你只能通过PowerShell访问的命令的包,这也是需要的。
从工具菜单选中库包管理器(Library Package Manager),然后单击包管理器控制台。
包管理器控制台窗口将会出现。
设置默认值的两个下来列表让可以省略输入命令的参数:
当你输入命令后,你可以覆盖这些值。在包管理器控制台窗口中,输入Get-Package -ListAvailable来查看选中包源中所有可用的包。
对于默认包源,这个命令将显示上千个包。过滤一下会更好。
例如,要寻找日志包ELMAH,输入Get-Package -ListAvailable -Filter elmah(包的名字)或是Get-Package -Filter Logging -ListAvailable(包描述信息中的关键字)
要了解Get-Package命令的更多选项,请输入Get-Help Get-Package或是查看包管理器控制台PowserShell参考。
找到包后你就想安装它了,适用Install-Package命令带上包的名字就可以安装了。例如,输入下例中显示的Install-Package elmah命令
要了解Install-Package命令的更多参数,请输入Get-Help Install-Package或查看包管理器控制台PowerShell参考。
NuGet从指定的包源检索包,并把它安装到默认项目下拉列表选中的项目里(除非你在命令中指定别的项目)。拷贝文件到解决方案,添加引用到项目,也可能会修改项目的app.config或web.config等等。
如果你安装的包依赖别的包,如果那些包还没有安装NuGet也会安装它们。
如果包需要许可,将不会出现在对话框中,而是在控制台中出现一条信息,描述你使用了库组成许可。
在解决方案管理器中,你能看到Visual Studio已经为安装的库添加了引用。
如果你的app.config或web.config文件需要修改,它们也会被修改。下面的例子显示了对于ELMAH的一些变化。
将会在你的解决方案目录中创建一个名字为packages的目录。(如果你没有解决方案目录,将会在项目目录中创建)
在packages目录中,每一个已安装的包都会有一个对应的子目录。这个子目录包含了包安装的文件。也包括包本身(.nupkg文件,它是包含包中所有文件的一个zip文件)
现在你能够在你的项目中使用这个库了。智能感知会在你输入代码的时候起作用,当你运行项目的时候库特性比如ELMAH日志信息页将会工作。
一些包可以安装你能够在包管理器控制台适用的新命令。MvcScaffolding就是这样一个包,它创建了你可以用来生成ASP.NET MVC控制器和视图的命令。下图展示了安装MvcScaffolding包创建的新命令Scaffold,你可以使用tab键来补全内容。
在工具菜单中,选择库包管理器并且单击包管理器控制台。如果你不知道你要删除的包的名字,输入不带任何标志的Get-Package命令来显示当前安装的所有的包。
使用带有包名的Uninstall-Package命令来移出包。例如,使用下图显示的Uninstall-Package elmah命令。
要了解uninstall-package命令的更多选项请输入Get-Help Uninstall-Package或者查看包管理器控制台PowserShell参考。
下面的包元素将会移出:
如果安装了你移出的包的依赖包,并且没有包再依赖它们,依赖包将会被删除。
在工具菜单中,选择库包管理器并且单击包管理器控制台。输入Get-Package -update命令来检查安装包是否有新版本。
输入带有包ID的Update-Package来更新包。例如,输入Update-Pacage jQuery命令。要了解更多Update-Package命令的参数,你可以输入Get-Help Update-Package或查看包管理器控制台PowserShell参考。
Powsershell支持profiles的概念,它允许你把经常使用的PS命令对任何使用PowserShell的地方可用。
NuGet支持的指定的profile文件通常放在:
%UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1
寻找profile文件最简单的方法是在NuGet包管理器控制台中输入$profile。例如,以下是我机器上的显示。
PM> $profile
C:\Users\philha\Documents\WindowsPowerShell\NuGet_profile.ps1
这个文件默认情况下不一定存在,你可以使用下面的命令创建它。
PM> mkdir -force (split-path $profile)
PM> notepad $profile
第一个命令在WindowsPowsershell目录不存在的情况下创建该目录。第二条命令试图在记事本中打开profile文件。如果这个文件不存在,会提示让你创建。在profile文件内,你可以修改Powsershell设置或者添加你认为有用的新命令。
以下是一个添加允许你设置字体的命令的例子。
function Set-FontSize{
param(
[ValidateRange(6,128)]
[Parameter(position=0, mandatory=$true)]
[int]$Size
)
$dte.Properties("FontsAndColors","TextEditor").Item("FontSize").Value= $Size
}
保存profile文件并且重起Visual Studio。在你下次打开包管理器控制台的时候,你将能够使用Set-Font命令。
PM> Set-Font24
原文来自:http://docs.nuget.org/docs/start-here/using-the-package-manager-console