共用方式為


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.

要求 數據行是指項目檔中指定的套件版本,而且可以是範圍。 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 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 選項結合。 使用組態檔中的 <AuditSources> 屬性來指定從 VulnerabilityInfo 資源取得的弱點數據來源。 如果未指定 <AuditSources>,則會使用指定的 <PackageSources> 來載入弱點數據。 如需詳細資訊,請參閱 稽核來源如何掃描 NuGet 套件是否有安全性弱點

  • --format <console|json>

    設定報表輸出格式。 允許的值為 consolejson。 預設為 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
    
  • 列出特定目標架構的套件參考:

    dotnet list package --framework netcoreapp3.0
    
  • 列出電腦可讀取 json 輸出格式的套件參考:

    dotnet list package --format json
    
  • 以電腦可讀取 json 輸出格式列出特定目標架構的套件參考:

    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