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


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

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

Имя

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]
    [--no-restore] [--outdated] [--source <SOURCE>] [-v|--verbosity <LEVEL>]
    [--vulnerable]
    [--format <console|json>]
    [--output-version <VERSION>]

dotnet package list -h|--help

Описание

Команда dotnet package list предоставляет удобный вариант для перечисления всех ссылок на пакеты NuGet для определенного проекта или решения. Начиная с .NET 10 команда автоматически выполняет восстановление при необходимости перед созданием результатов. В более ранних версиях сначала необходимо создать или восстановить проект , чтобы ресурсы, необходимые для обработки этой команды. В следующем примере показаны выходные данные команды dotnet package list для проекта SentimentAnalysis:

Restore complete (5.9s)

Build succeeded in 6.0s
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>).

Если вы хотите пропустить автоматическое восстановление, можно использовать этот --no-restore параметр. Пример:dotnet package list --no-restore

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.

Используйте параметр --outdated, чтобы узнать, доступны ли более новые версии пакетов, которые вы используете в проектах. По умолчанию --outdated перечисляет последние стабильные пакеты, если только разрешенная версия не является предварительной версией. Чтобы включить предварительные версии при перечислении новых версий, также укажите параметр --include-prerelease. Чтобы обновить пакет до последней версии, используйте добавление пакета dotnet.

В следующем примере показаны выходные данные команды dotnet package list --outdated --include-prerelease для того же проекта, что и в предыдущем примере:

Restore complete (0.6s)

Build succeeded in 0.7s

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, в котором отображаются пакеты верхнего уровня и пакеты, от которых они зависят:

Restore complete (0.6s)

Build succeeded in 0.7s
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

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

  • --no-restore

    Не восстанавливайтесь перед выполнением команды.

  • --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. Доступный начиная с пакета SDK для .NET 9.0.300, этот параметр использует <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