dotnet list package
本文適用於: ✔️ .NET Core 3.1 SDK 與更新版本
名稱
dotnet list package
- 列出適用於專案或解決方案的套件參考。
概要
dotnet list [<PROJECT>|<SOLUTION>] package [--config <SOURCE>]
[--deprecated]
[-f|--framework <FRAMEWORK>] [--highest-minor] [--highest-patch]
[--include-prerelease] [--include-transitive] [--interactive]
[--outdated] [--source <SOURCE>] [-v|--verbosity <LEVEL>]
[--vulnerable]
[--format <console|json>]
[--output-version <VERSION>]
dotnet list package -h|--help
描述
dotnet list package
命令提供一個便利選項,可列出適用於特定專案或解決方案的所有 NuGet 套件參考。 您需要先建置專案,才能具備處理此命令所需的資產。 下列範例會針對 SentimentAnalysis 專案顯示 dotnet list package
命令的輸出:
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.
Requested 欄會參考專案檔中所指定的套件版本,而且可以是一個範圍。 Resolved 欄會列出專案目前正在使用的版本,且一律為單一值。 名稱旁邊顯示 (A)
的套件代表隱含的套件參考,可從您的專案設定 (Sdk
類型,或 <TargetFramework>
或 <TargetFrameworks>
屬性) 進行推斷。
使用 --outdated
選項,以找出您在專案中所使用的套件是否有較新版本可供使用。 除非已解析的版本也是發行前版本,否則 --outdated
預設會列出最新的穩定套件。 若要在列出較新的版本時包含發行前版本,也需指定 --include-prerelease
選項。 若要將套件更新為最新版本,請使用 dotnet add package。
下列範例會針對與上一個範例相同的專案,顯示 dotnet list package --outdated --include-prerelease
命令的輸出:
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
選項。 當您在之後將依賴另一個套件的專案中新增套件時,就會發生可轉移的相依性。 下列範例會針對 HelloPlugin 專案顯示執行 dotnet list package --include-transitive
命令的輸出,其會顯示最上層套件及其相依的套件:
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 的套件。 若要指定多個架構,請多次指定該選項。 例如:
--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
可讓命令停止,並等候使用者輸入或進行動作。 例如完成驗證。 自 .NET Core 3.0 SDK 起提供使用。
--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
選項合併。 Nuget.org 是弱點相關資訊的來源。 如需詳細資訊,請參閱弱點和如何掃描 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 list SentimentAnalysis.csproj package
列出有較新版本可供使用 (包括發行前版本) 的套件參考:
dotnet list package --outdated --include-prerelease
列出適用於特定目標 Framework 的套件參考:
dotnet list package --framework netcoreapp3.0
以電腦可讀取的 json 輸出格式列出套件參考:
dotnet list package --format json
以電腦可讀取的 json 輸出格式列出特定目標 Framework 的套件參考:
dotnet list package --framework netcoreapp3.0 --format json
將套件參考以電腦可讀取的 json 輸出格式 (包括可轉移的相依性和弱點詳細資料) 儲存到檔案:
dotnet list package --include-transitive --vulnerable --format json >> dependencyReport.json
以輸出版本 1 的電腦可讀取 json 輸出格式列出套件參考:
dotnet list package --format json --output-version 1