使用包管理器控制台寻找安装NuGet包

此文章介绍怎样使用PowerShell命令行寻找、安装、移除和更新NuGet包。你也能使用管理NuGet包来完成。更多信息,请看使用管理NuGetr对话框

如果你想在不打开解决方案的前提下安装包,需要使用PowerShell命令行。对于一些创建了你只能通过PowerShell访问的命令的包,这也是需要的。

 

寻找包

 

从工具菜单选中库包管理器(Library Package Manager),然后单击包管理器控制台。

 

包管理器控制台窗口将会出现。

 

设置默认值的两个下来列表让可以省略输入命令的参数:


  •       在包源列表中,选择你想让你的命令使用的默认源。通常你将保留它的默认值NuGet Offical package source.关于可选源的更多信息,请看Host你自己的源
     
  •      在默认项目列表中,选择你想让你的命令使用的默认项目。(默认值将会是解决方案中的第一个项目,而不是你打开包管理器控制台窗口时解决方案管理器中选中的项目。)

 
当你输入命令后,你可以覆盖这些值。在包管理器控制台窗口中,输入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参考。

下面的包元素将会移出:


  •  项目中的引用。在解决方案管理器中的引用目录或Bin目录,你将不会看到该库。(要从Bin目录中移出引用可能需要build一下项目)

  •  解决方案目录中的文件。你移出的包在packages目录中对应的子目录也会被删除。如果它是你安装的唯一包,packages目录也会删除。

  •  对于app.config或web.config做的任何修改将会还原。
     

如果安装了你移出的包的依赖包,并且没有包再依赖它们,依赖包将会被删除。

 

 

更新包


在工具菜单中,选择库包管理器并且单击包管理器控制台。输入Get-Package -update命令来检查安装包是否有新版本。

 

 

输入带有包ID的Update-Package来更新包。例如,输入Update-Pacage jQuery命令。要了解更多Update-Package命令的参数,你可以输入Get-Help Update-Package或查看包管理器控制台PowserShell参考。

 

 

 

设置NuGet Powershell Profile

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
 
 

你可能感兴趣的:(NuGet)