此文章適用於:✔️ .NET 6 SDK 與更新版本
名稱
dotnet package list - 列出專案或方案的套件參考。
備註
如果您使用 .NET 9 SDK 或更早版本,請改用 “verb first” 窗體 (dotnet list package) 。 「名詞優先」表單是在 .NET 10 中引進的。 如需詳細資訊,請參閱 更一致的命令順序。
概要
dotnet package list [--config <SOURCE>]
[--deprecated] [--project [<PROJECT>|<SOLUTION>]]
[-f|--framework <FRAMEWORK>] [--highest-minor] [--highest-patch]
[--include-prerelease] [--include-transitive] [--interactive]
[--no-restore] [--outdated] [--source <SOURCE>] [-v|--verbosity <LEVEL>]
[--vulnerable]
[--format <console|json>]
[--output-version <VERSION>]
dotnet package list -h|--help
說明
dotnet package list 命令提供方便的選項,列出特定專案或解決方案的所有 NuGet 套件參考。
從 .NET 10 開始,命令會在產生結果之前,視需要自動執行還原。
在舊版中,您首先需要 建置/還原專案 ,才能擁有處理此命令所需的資產。
下列範例顯示 dotnet package list 項目的 命令輸出:
Restore complete (5.9s)
Build succeeded in 6.0s
Project 'SentimentAnalysis' has the following package references
[netcoreapp2.1]:
Top-level Package Requested Resolved
> Microsoft.ML 1.4.0 1.4.0
> Microsoft.NETCore.App (A) [2.1.0, ) 2.1.0
(A) : Auto-referenced package.
要求 數據行是指項目檔中指定的套件版本,而且可以是範圍。
Resolved 資料行會列出專案目前使用的版本,而且一律為單一值。 顯示其名稱旁 (A) 的封裝代表從專案設定推斷的隱含套件參考(Sdk 類型,或 <TargetFramework> 或 <TargetFrameworks> 屬性)。
如果您想跳過自動恢復,可以使用該 --no-restore 選項。
範例 dotnet package list --no-restore:
Project 'SentimentAnalysis' has the following package references
[netcoreapp2.1]:
Top-level Package Requested Resolved
> Microsoft.ML 1.4.0 1.4.0
> Microsoft.NETCore.App (A) [2.1.0, ) 2.1.0
(A) : Auto-referenced package.
使用 [--outdated] 選項,了解專案中是否有較新版本可用的套件。 根據預設,--outdated 會列出最新的穩定套件,除非解析的版本也是發行前版本。 若要在列出較新版本時包含發行前版本,也請指定 [--include-prerelease] 選項。 若要將套件更新為最新版本,請使用 dotnet package add。
下列範例顯示與上一個範例相同項目的 dotnet package list --outdated --include-prerelease 命令輸出:
Restore complete (0.6s)
Build succeeded in 0.7s
The following sources were used:
https://api.nuget.org/v3/index.json
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
Project `SentimentAnalysis` has the following updates to its packages
[netcoreapp2.1]:
Top-level Package Requested Resolved Latest
> Microsoft.ML 1.4.0 1.4.0 1.5.0-preview
如果您需要了解專案是否有可轉移的相依性,請使用 [--include-transitive] 選項。 當您將套件新增至專案時,就會發生可轉移的相依性,而該套件接著依賴另一個套件。 下列範例顯示執行 dotnet package list --include-transitive 項目的 命令輸出,其中會顯示最上層套件及其相依的套件:
Restore complete (0.6s)
Build succeeded in 0.7s
Project 'HelloPlugin' has the following package references
[netcoreapp3.0]:
Transitive Package Resolved
> PluginBase 1.0.0
論點
PROJECT | SOLUTION
要運作的專案或方案檔。 如果未指定,命令會搜尋目前目錄的其中一個目錄。 如果找到多個方案或專案,則會擲回錯誤。
選項
--config <SOURCE>搜尋較新的套件時要使用的 NuGet 來源。 需要 [
--outdated] 選項。--deprecated顯示已被取代的套件。
-f|--framework <FRAMEWORK>只顯示適用於指定 目標架構的套件。 若要指定多個架構,請多次重複選項。 例如:
--framework net6.0 --framework netstandard2.0。 從 .NET 9 SDK 開始,即可使用選項的簡短形式 (-f)。-
-?|-h|--help輸出有關如何使用命令的說明。
--highest-minor只有在搜尋較新的套件時,才會考慮具有相符主要版本號碼的套件。 需要
--outdated或--deprecated選項。--highest-patch在搜尋較新的套件時,只考慮具有相符的主要和次要版本號碼的套件。 需要
--outdated或--deprecated選項。--include-prerelease在搜尋較新的套件時,請考慮具有發行前版本的套件。 需要
--outdated或--deprecated選項。--include-transitive除了最上層套件之外,也會列出可轉移的套件。 指定此選項時,您會取得最上層套件相依的套件清單。
-
--interactive可讓命令停止,並等候使用者輸入或進行動作。 例如完成驗證。
--no-restore在執行命令之前,請勿還原。
--outdated列出有較新版本可用的套件。
-s|--source <SOURCE>搜尋較新的套件時要使用的 NuGet 來源。 需要
--outdated或--deprecated選項。-
-v|--verbosity <LEVEL>設定命令的詳細資訊層級。 允許的值為
q[uiet]、m[inimal]、n[ormal]、d[etailed]和diag[nostic]。 預設值為minimal。 如需詳細資訊,請參閱LoggerVerbosity。 --vulnerable列出已知弱點的套件。 無法與
--deprecated或--outdated選項結合。 從 .NET SDK 9.0.300 開始,此選項會使用組態檔中的屬性<AuditSources>來指定弱點資料的來源,該來源是從 VulnerabilityInfo 資源取得。 如果未指定<AuditSources>,則會使用指定的<PackageSources>來載入弱點數據。 如需詳細資訊,請參閱 稽核來源 和 如何掃描 NuGet 套件是否有安全性弱點。--format <console|json>設定報表輸出格式。 允許的值為
console,json。 預設為console。 從 .NET SDK 7.0.200 開始提供。--output-version <VERSION>設定報表輸出版本。 允許的值
1。 預設為1。 需要 [--format json] 選項。 當有新的 JSON 版本可用時,命令預設會產生新的格式。 這個選項可讓您指定命令應該產生較早的格式。 從 .NET SDK 7.0.200 開始提供。
範例
列出特定項目的套件參考:
dotnet package list --project SentimentAnalysis.csproj列出有較新版本可用的套件參考,包括發行前版本:
dotnet package list --outdated --include-prerelease列出特定目標架構的套件參考:
dotnet package list --framework netcoreapp3.0列出電腦可讀取 json 輸出格式的套件參考:
dotnet package list --format json以電腦可讀取 json 輸出格式列出特定目標架構的套件參考:
dotnet package list --framework netcoreapp3.0 --format json將封裝參考的機器可讀取 json 輸出,包括可轉移的相依性和弱點詳細數據儲存到檔案中:
dotnet package list --include-transitive --vulnerable --format json >> dependencyReport.json使用輸出版本 1 列出電腦可讀取 json 輸出格式中的套件參考:
dotnet package list --format json --output-version 1