dotnet list package

Dieser Artikel gilt für: ✔️ .NET Core 3.1 SDK und höher

Name

dotnet list package: Hiermit listen Sie die Paketverweise für ein Projekt oder eine Projektmappe auf.

Übersicht

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

Beschreibung

Der Befehl dotnet list package bietet eine praktische Option zum Listen aller NuGet-Pakettverweise auf ein bestimmtes Projekt oder eine Projektmappe. Sie müssen zuerst das Projekt erstellen, um die Ressourcen zu haben, die für diesen Befehl zur Verarbeitung benötigt werden. Das folgende Beispiel zeigt die Ausgabe des Befehls dotnet list package für das Projekt SentimentAnalysis:

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.

Die Spalte Angefordert bezieht sich auf die in der Projektdatei angegebene Paketversion und kann ein Bereich sein. Die Spalte Gelöst listet die Version auf, die das Projekt gerade verwendet, und ist immer ein Einzelwert. Die Pakete, neben deren Namen (A) angezeigt wird, sind implizite Paketverweise, die aus Ihren Projekteinstellungen abgeleitet werden (z. B. Typ Sdk, Eigenschaft <TargetFramework> oder <TargetFrameworks>).

Verwenden Sie die Option --outdated, um herauszufinden, ob es neuere Versionen der Pakete gibt, die Sie in Ihren Projekten verwenden. Standardmäßig listet --outdated die neuesten stabilen Pakete auf, es sei denn, die gelöste Version ist auch eine Vorabversion. Um Vorabversionen in die Liste neuerer Versionen aufzunehmen, geben Sie auch die Option --include-prerelease an. Verwenden Sie dotnet add package, um ein Paket auf die neueste Version upzudaten.

Das folgende Beispiel zeigt die Ausgabe des Befehls dotnet list package --outdated --include-prerelease für das gleiche Projekt wie im vorherigen Beispiel:

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

Wenn Sie herausfinden möchten, ob Ihr Projekt transitive Abhängigkeiten aufweist, verwenden Sie die Option --include-transitive. Transitive Abhängigkeiten treten auf, wenn Sie ein Paket zu Ihrem Projekt hinzufügen, das wiederum von einem anderen Paket abhängig ist. Das folgende Beispiel zeigt die Ausgabe des Befehls dotnet list package --include-transitive für das Projekt HelloPlugin, das Pakete auf oberster Ebene und die von ihnen abhängigen Pakete anzeigt:

Project 'HelloPlugin' has the following package references
   [netcoreapp3.0]:
   Transitive Package      Resolved
   > PluginBase            1.0.0

Argumente

PROJECT | SOLUTION

Die zu verwendende Projekt- oder Projektmappendatei. Wenn keine angegeben ist, sucht der Befehl im aktuellen Verzeichnis nach einer Projektdatei. Wenn mehr als eine Projektmappe oder ein Projekt gefunden wird, wird ein Fehler ausgegeben.

Optionen

  • --config <SOURCE>

    Die bei der Suche nach neueren Paketen zu verwendenden NuGet-Quellen. Hierfür ist die Option --outdated erforderlich.

  • --deprecated

    Hiermit werden die Pakete angezeigt, die veraltet sind.

  • -f|--framework <FRAMEWORK>

    Zeigt nur die Pakete an, die für das angegebene Zielframework gelten. Um mehrere Frameworks anzugeben, wiederholen Sie die Option mehrmals. Beispiel: --framework net6.0 --framework netstandard2.0 Die kurze Form der Option (-f) ist ab .NET 9 SDK verfügbar.

  • -?|-h|--help

    Gibt eine Beschreibung zur Verwendung des Befehls aus.

  • --highest-minor

    Hiermit werden bei der Suche nach neueren Paketen nur die Pakete mit übereinstimmender Hauptversionsnummer berücksichtigt. Hierfür ist die Option --outdated oder --deprecated erforderlich.

  • --highest-patch

    Hiermit werden bei der Suche nach neueren Paketen nur die Pakete mit übereinstimmender Haupt- und Nebenversionsnummer berücksichtigt. Hierfür ist die Option --outdated oder --deprecated erforderlich.

  • --include-prerelease

    Hiermit werden bei der Suche nach neueren Pakete auch Pakete mit Vorabversionen berücksichtigt. Hierfür ist die Option --outdated oder --deprecated erforderlich.

  • --include-transitive

    Listet transitive Pakete zusätzlich zu den Paketen auf der obersten Ebene auf. Wenn Sie diese Option angeben, erhalten Sie eine Liste der Pakete, von denen die Pakete auf der obersten Ebene abhängen.

  • --interactive

    Ermöglicht dem Befehl, anzuhalten und auf Benutzereingaben oder Aktionen zu warten. Beispielsweise, um die Authentifizierung abzuschließen. Verfügbar seit .NET Core 3.0 SDK.

  • --outdated

    Listet Pakete auf, für die neuere Versionen verfügbar sind.

  • -s|--source <SOURCE>

    Die bei der Suche nach neueren Paketen zu verwendenden NuGet-Quellen. Hierfür ist die Option --outdated oder --deprecated erforderlich.

  • -v|--verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad für den Befehl fest. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic]. Der Standardwert ist minimal. Weitere Informationen finden Sie unter LoggerVerbosity.

  • --vulnerable

    Listet Pakete auf, die bekannte Sicherheitsrisiken aufweisen. Kann nicht mit den Optionen --deprecated oder --outdated kombiniert werden. Nuget.org ist die Informationsquelle für Sicherheitsrisiken. Weitere Informationen finden Sie unter Sicherheitsrisiken und im Artikel zum Überprüfen von NuGet-Paketen auf Sicherheitsrisiken.

  • --format <console|json>

    Legt das Berichtsausgabeformat fest. Zulässige Werte sind: console und json. Wird standardmäßig auf console festgelegt. Verfügbar ab .NET SDK 7.0.200.

  • --output-version <VERSION>

    Legt die Ausgabeversion des Berichts fest. Zulässiger Wert ist 1. Wird standardmäßig auf 1 festgelegt. Hierfür ist die Option --format json erforderlich. Wenn eine neue JSON-Version verfügbar ist, erzeugt der Befehl standardmäßig das neue Format. Mit dieser Option können Sie angeben, dass der Befehl ein früheres Format erzeugen soll. Verfügbar ab .NET SDK 7.0.200.

Beispiele

  • Liste der Paketverweise eines bestimmten Projekts:

    dotnet list SentimentAnalysis.csproj package
    
  • Liste von Paketverweisen, für die neuere Versionen verfügbar sind, einschließlich Vorabversionen:

    dotnet list package --outdated --include-prerelease
    
  • Liste von Paketverweisen für ein bestimmtes Zielframework:

    dotnet list package --framework netcoreapp3.0
    
  • Listen Sie Paketverweise im maschinenlesbaren JSON-Ausgabeformat auf:

    dotnet list package --format json
    
  • Listen Sie Paketverweise für ein bestimmtes Zielframework im maschinenlesbaren JSON-Ausgabeformat auf:

    dotnet list package --framework netcoreapp3.0 --format json
    
  • Speichern Sie die maschinenlesbare JSON-Ausgabe von Paketverweisen, einschließlich transitiver Abhängigkeiten und Details zu Sicherheitsrisiken, in einer Datei:

    dotnet list package --include-transitive --vulnerable --format json >> dependencyReport.json
    
  • Listen Sie Paketverweise im maschinenlesbaren JSON-Ausgabeformat mit Ausgabeversion 1 auf:

    dotnet list package --format json --output-version 1