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


為什么要使用控制台管理程序包而不使用程序包管理窗口?原因大家都懂,生活壓力這么大,一切都只是為了裝一波。開個玩笑,當然不只是此原因,在有些情況下,有些操作使用程序包管理窗口不能達到目的,只能使用控制台命令才能實現,比如說,安裝特定版本的程序包。

控制台命令窗口
在安裝有NuGet插件的VS上打開NuGet命令窗口的過程如下:依次選擇菜單Tools(工具)->Library Package Manager(庫程序包管理器)->Pakcage Manager Console(程序包管理器控制台)。
clipboard
  • 程序包源:此下拉框可以選擇要使用程序包源,默認選中 NuGet官方程序包源,當然你可以切換為自己公司內部使用的程序包源。
  • 默認項目:選擇你想在哪個項目使用命令來工作,默認會自動選擇第一個項目。

在使用控制台命令的過程中,很多命令的語法不需要硬背,可以隨時使用get-help命令來查看幫助。
clipboard

常用命令
  • Get-Package
可以使用Get-Package -ListAvailable來查看當前程序包源所有可用的程序包。
clipboard
使用上述命令從NuGet官方程序包源中會獲取到成千上萬個程序包,如果想要查詢特定的程序包,可以使用-Filter參數來進行過濾,如果我需要查找Common.Loggin程序包,那么可以使用Get-Package -ListAvailable -Filter Common.Logging (程序包名稱或關鍵字)來進行查找,在NuGet 3.0+版本中,可以使用Find-Package命令來替換Get-Package命令。
clipboard
如果不帶任何參數,則可以查看當前解決方案已安裝程序包列表:
clipboard

  • Install-Package
當你使用Get-Package命令找到你想要安裝的程序包之后,可以使用Install-Package packagename命令來安裝程序包。比如使用Install-Pakcage Common.Logging來安裝通用日志程序包:
clipboard
NuGet在安裝程序包的時候,會從指定的程序包源進行查找,同時會安裝到選擇的項目中(除非你使用參數另外指定)。程序包文件會下載到本地解決方案的packages目錄下,同時,項目的app.config或web.config也有可能被更改。
如果要安裝的程序包依賴於其他程序包,NuGet會同時下載並安裝其所依賴的程序包。

  • Uninstall-Package
使用Uninstall-Package packagename可以移除當前選擇項目的指定程序包。比如,Uninstall-Pakcage Common.Logging移除當前項目引用的Common.Logging程序包。
clipboard
使用上述命令達到的結果:
  1. 項目引用:在解決方案資源管理器中,項目引用中的Common.Logging引用被刪除
  1. packages目錄:解決方案文件夾根目錄下的packages目錄下的Common.Logging文件夾被刪除,如果packages下只有這一個目錄,那么packages目錄也將同時被刪除;
  2. 配置文件:app.config或web.config文件中的更改被刪除;

  • Update-Package
可以使用Get-Package -updates命令來查看當前已安裝的程序包中是否有新版本可用:
clipboard
如果想更新某個程序包,可以使用Update-Package packagename來更新指定程序包。

總結
本篇文章主要講解了如何使用程序包控制台來進行簡單的程序包管理,包括常用的查找、安裝、刪除及更新程序包功能。常用命令基本就是這么多,當然,本文對各個命令的應用只是其基本用法而已,如果需要更深層次的應用,可以使用Get-Help commandname來查看每個命令的詳細用法,也可以直接查看官方說明文檔

參考資料:
1、官網控制台命令文檔: http://docs.nuget.org/consume/Package-Manager-Console


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM