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


Список пакетов dotnet

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

Имя

dotnet package list . Перечисляет ссылки на пакеты для проекта или решения.

Примечание.

Если вы используете пакет SDK для .NET 9 или более ранних версий, используйте вместо него формуdotnet list package "глагол первой". В .NET 10 появилась форма "существительное первое". Дополнительные сведения см. в разделе "Более согласованный порядок команд".

Синопсис

dotnet package list [--config <SOURCE>]
    [--deprecated] [--project [<PROJECT>|<SOLUTION>]]
    [-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 package list -h|--help

Описание

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

В следующем примере показаны выходные данные команды dotnet package list --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 package list --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 package list --project SentimentAnalysis.csproj
    
  • Список ссылок на пакеты с доступными более новыми версиями, включая предварительные версии:

    dotnet package list --outdated --include-prerelease
    
  • Список ссылок на пакеты для конкретной целевой платформы:

    dotnet package list --framework netcoreapp3.0
    
  • Вывод списка ссылок на пакет в формате выходных данных json, доступных для чтения компьютера:

    dotnet package list --format json
    
  • Список ссылок на пакеты для конкретной целевой платформы в формате выходных данных json, доступных для чтения компьютера:

    dotnet package list --framework netcoreapp3.0 --format json
    
  • Сохраните выходные данные json, доступные для чтения компьютера, ссылки на пакеты, включая транзитивную зависимость и сведения об уязвимостях в файл:

    dotnet package list --include-transitive --vulnerable --format json >> dependencyReport.json
    
  • Вывод списка ссылок на пакеты в формате выходных данных json, доступных для чтения компьютера, с выходной версией 1:

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