Пакет списка 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