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


Пакет списка dotnet

Эта статья относится к: ✔️ пакету 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

Описание

Команда 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.

Столбец запрошенных ссылается на версию пакета, указанную в файле проекта, и может быть диапазоном. Столбец разрешенных содержит версию, используемую проектом, и всегда является одним значением. Пакеты, отображающие (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. Используйте свойство <AuditSources> в файле конфигурации, чтобы указать источник данных уязвимости, полученный из ресурса VulnerabilityInfo. Если <AuditSources> не указано, указанные <PackageSources> используются для загрузки данных уязвимостей. Дополнительные сведения см. в источниках аудита и проверка пакетов 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