Поделиться через


dotnet list package

Эта статья относится к: ✔️ пакету SDK для .NET Core 3.1 и более поздних версий

Имя.

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

Description

Команду dotnet list package удобно использовать для получения списка всех ссылок на пакеты NuGet для определенного проекта или решения. Сначала нужно создать проект, чтобы получить ресурсы, необходимые для обработки этой командой. В следующем примере показаны выходные данные команды dotnet list package для проекта 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.

В столбце 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. Транзитивные зависимости возникают при добавлении пакета в проект, который в свою очередь зависит от другого пакета. В следующем примере показаны выходные данные выполнения команды dotnet list package --include-transitive для проекта HelloPlugin, в которых отображаются пакеты верхнего уровня и пакеты, от которых они зависят:

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. Короткая форма параметра (-f) доступна начиная с пакета SDK для .NET 9.

  • -?|-h|--help

    Выводит описание использования команды.

  • --highest-minor

    Учитывает только пакеты с соответствующим номером основной версии при поиске более новых версий пакетов. Требует указать параметр --outdated или --deprecated.

  • --highest-patch

    Учитывает только пакеты с соответствующими номерами основной и дополнительной версий при поиске более новых версий пакетов. Требует указать параметр --outdated или --deprecated.

  • --include-prerelease

    Учитывает пакеты с предварительными версиями при поиске более новых версий пакетов. Требует указать параметр --outdated или --deprecated.

  • --include-transitive

    Выводит список транзитивных пакетов, кроме пакетов верхнего уровня. Указав этот параметр, вы получите список пакетов, от которых зависят пакеты верхнего уровня.

  • --interactive

    Позволяет команде остановиться и дождаться, пока пользователь выполнит действие или введет данные. Например, чтобы завершить проверку подлинности. Доступно, начиная с пакета SDK для .NET Core 3.0.

  • --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. Доступно начиная с пакета SDK для .NET 7.0.200.

  • --output-version <VERSION>

    Задает выходную версию отчета. Допустимое значение 1: . По умолчанию — 1. Требует указать параметр --format json. Когда доступна новая версия JSON, команда будет создавать новый формат по умолчанию. Этот параметр позволит указать, что команда должна создать более ранний формат. Доступно начиная с пакета SDK для .NET 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
    
  • Вывод списка ссылок на пакеты в формате выходных данных json, доступных для чтения компьютера, с выходной версией 1:

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