簡體   English   中英

如何列出所有已安裝的 NuGet 包?

[英]How do I list all installed NuGet packages?

如何列出所有本地安裝的 NuGet 包?

是否有相當於RPM -qa的 NuGet ? Chocolatey 中chocolatey list -localonly ,但在我的生活中,我找不到與該命令等效的 NuGet。

NuGet 包管理器控制台中,輸入以下命令:

Get-Package

這將打印出已安裝包的列表,或者如果不存在,則將以下行寫入控制台:

PM> Get-Package
No packages installed.

有關更多詳細信息,請查看NuGet PowerShell 參考

如果你只是這樣做

Get-Package

它將列出包及其被引用的位置。 如果您多次引用它們,它將一遍又一遍地列出相同的包。 如果您想獲得解決方案中安裝的所有軟件包的干凈列表,您可以這樣做

Get-Package | select -Unique Id, Versions
Get-Package -ProjectName "Your.Project.Name"

將顯示指定項目的包。

另請參閱: 包管理器控制台 PowerShell 參考

請注意,每個項目都有一個 packages.config 文件,用於跟蹤已安裝的包。 如果這被改變(特別是如果你向后改變它),項目可能不會自動下載正確的包版本。 在這種情況下,記下所需的包並執行卸載包,然后為每個包執行安裝包。

此外,備份是您的朋友! ;)

除了所有給定的答案之外,還有一個 XML 格式的干凈列表,列出了 Visual Studio 項目根文件夾中所有已安裝包: packages.config

在此處輸入圖片說明

在 Visual Studio 中,

  • 轉到相關項目解決方案
  • 右鍵單擊,管理 NuGet 包...
  • 在左側,您將看到“已安裝的軟件包
  • 單擊此按鈕,您將看到列表

如果安裝了 .NET Core 運行時,則可以使用 .NET Core CLI 工具中的dotnet list package命令來獲取給定解決方案或項目的已安裝包。 像這樣從 Windows 命令行使用它:

dotnet list "C:\Source\MySolution\MySolution.sln" package

它適用於 .NET Framework 和 .NET Core 項目。

注意:要使此命令起作用,解決方案必須使用新的 NuGet PackageReference 格式來引用 NuGet 包。 遷移就像右鍵單擊packages.config,然后單擊“將packages.config 遷移到PackageReference...”一樣簡單,然后通過構建解決方案來恢復包。

如何列出所有已安裝的 NuGet 包?

假設NuGet 安裝正確

右鍵單擊項目節點,然后單擊管理 NuGet 包

右鍵單擊項目節點

查看已安裝的軟件包列表

查看已安裝的軟件包

回答“有沒有辦法使用 nuget.exe 做到這一點? – bitbonk”

nuget list -Source C:/packages

其中 C:/packages 是本地存儲庫的路徑。

回答“有沒有辦法使用 nuget.exe 執行此操作?” 比特邦克

基於上面jstar的回答。 我使用\\而不是/這更適合 nuget 在家里的 Windows 環境。 我對答案的編輯被拒絕了,所以我發布了我自己的。

nuget list -Source c:\\code\\packages

其中c:\\code是本地代碼存儲庫的路徑。 packages文件夾與您的解決方案文件 (*.sln) 位於同一級別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM