C# NuGet包管理命令

來源:互聯網
上載者:User

標籤:tip   pos   ini   .exe   關係   特定   注意   nta   vcs   

 

NuGet Package Manager Console 內建於 Visual Studio 在 Windows 2012 和更高版本。 (不包含在 Visual Studio 用於 Mac 或 Visual Studio Code。)

控制台,你可以使用NuGet PowerShell 命令若要尋找,安裝、 卸載和更新 NuGet 程式包。 使用控制台是在包管理器 UI 不提供了如何執行操作的情況下必需的。 若要使用nuget.exe命令在控制台中,請參閱使用控制台中的 CLI nuget.exe。

例如,尋找和安裝的包,可使用三個簡單步驟:

  1. 在 Visual Studio 中,開啟項目/解決方案並開啟控制台使用工具 > NuGet 包管理器 > 封裝管理員控制台命令。

  2. 尋找你想要安裝的程式包。 如果你已經知道此,請跳到步驟 3。

    ps複製
    # Find packages containing the keyword "elmah"Find-Package elmah
  3. 運行安裝命令:

    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 中開啟解決方案。 如果你有未儲存的解決方案或沒有解決方案,您可以看到此錯誤,"是未開啟或儲存解決方案。 請確保你已開啟並儲存解決方案。" 這表示控制台無法確定解決方案的檔案夾。 儲存未儲存的解決方案,或建立和儲存解決方案,如果你還沒有開啟,應糾正該錯誤。

開啟的控制台和控制台控制項
  1. 開啟 Visual Studio 中使用控制台工具 > NuGet 包管理器 > 封裝管理員控制台命令。 在控制台中,可以排列和定位你的喜好的 Visual Studio 視窗 (請參閱自訂 Visual Studio 中的視窗布局)。

  2. 預設情況下,控制台命令運行針對特定的包源和項目中控制項的視窗的頂部設定:

  3. 選擇一個不同的包源和/或項目更改這些預設設定的後續命令。 覆蓋而無需更改預設設定,這些設定的大多數命令支援-Source-ProjectName選項。

  4. 若要管理的包源,選擇齒輪表徵圖。 這是一個指向捷徑工具 > 選項 > NuGet 包管理器 > 程式包源對話方塊上所述包管理器 UI頁。 此外,右側為項目選取器控制項清除控制台的內容:

  5. 最右邊的按鈕中斷長時間啟動並執行命令。 例如,運行Get-Package -ListAvailable -PageSize 500列出上預設源 (如 nuget.org),可能需要幾分鐘時間啟動並執行前 500 包。

安裝的包ps複製
# Add the Elmah package to the default project as specified in the console‘s project selectorInstall-Package Elmah# Add the Elmah package to a project named UtilitiesLib that is not the defaultInstall-Package Elmah -ProjectName UtilitiesLib

請參閱安裝包。

安裝的包執行下列操作:

  • 與默示協議的控制台視窗中顯示適用的授權條款。 如果你不同意這些條款,你應立即卸載程式包。
  • 在正在使用的任何引用格式添加到項目的引用。 引用隨後將出現在方案總管和適用的參考格式檔案。 但是,請注意,採用 PackageReference,則需要先儲存該項目才能直接看到專案檔中的更改。
  • 緩衝包:
    • PackageReference: 在緩衝包%USERPROFILE%\.nuget\packages和鎖定檔案即project.assets.json更新。
    • packages.config: 建立packages在程式包檔案入子檔案夾中的解決方案根目錄和副本的檔案夾。 package.config更新檔案。
  • 更新app.config和/或web.config如果包使用源和設定檔轉換。
  • 如果項目中尚不存在,請安裝任何依賴項。 中所述,這可能會更新在過程中,包版本依賴項解析。
  • 如果可用,請在 Visual Studio 視窗中顯示包的讀我檔案。

提示

安裝的包的主要優勢之一Install-Package在控制台中的命令時,它將對項目的引用,就像使用封裝管理員 UI。 與此相反, nuget install CLI 命令僅下載包,並不會自動添加引用。

卸載包ps複製
# Uninstalls the Elmah package from the default projectUninstall-Package Elmah# Uninstalls the Elmah package and all its unused dependenciesUninstall-Package Elmah -RemoveDependencies # Uninstalls the Elmah package even if another package depends on itUninstall-Package Elmah -Force

請參閱卸載包。 使用Get 包查看當前安裝在預設項目中,如果你需要尋找標識符的所有包。

卸載程式包執行下列操作:

  • 將對包從項目 (和正在使用的任何引用格式) 的引用。 引用不再出現在方案總管。 (你可能需要重建該項目才能看到它從刪除Bin檔案夾。)
  • 反轉對所做任何更改app.configweb.config時已安裝了包。
  • 如果沒有剩餘的包使用這些依賴關係,依賴以前安裝中刪除項。

提示

Install-PackageUninstall-Package命令具有與管理在項目中,引用的好處nuget uninstallCLI 命令。

更新程式包ps複製
# Checks if there are newer versions available for any installed packagesGet-Package -updates# Updates a specific package using its identifier, in this case jQueryUpdate-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 solutionUpdate-Package

請參閱Get 包和更新包

尋找包ps複製
# Find packages containing keywordsFind-Package elmahFind-Package logging# List packages whose ID begins with ElmahFind-Package Elmah -StartWith# By default, Get-Package returns a list of 20 packages; use -First to show moreFind-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在控制台中:

ps複製
$profileC:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1

有關更多詳細資料,請參閱Windows PowerShell 設定檔。

使用 nuget.exe CLI 在控制台中

若要使 nuget.exe CLI可用在封裝管理員控制台中,安裝NuGet.CommandLine從控制台的包:

ps複製
# Other versions are available, see http://www.nuget.org/packages/NuGet.CommandLine/Install-Package NuGet.CommandLine -Version 4.4.1

C# NuGet包管理命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.