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 包。
安裝的包
ps# 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 命令僅下載包,並不會自動添加引用。
卸載包
ps# 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 uninstall
CLI 命令。
更新程序包
ps# 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
請參閱Get 包和更新包
查找包
ps# 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包管理命令