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