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


dotnet nuget почему

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

Name

dotnet nuget why— отображает граф зависимостей для определенного пакета.

Synopsis

dotnet nuget why [<PROJECT|SOLUTION>] <PACKAGE> [-f|--framework <FRAMEWORK>]

dotnet nuget why -h|--help

Description

Команда dotnet nuget why показывает граф зависимостей для определенного пакета для определенного проекта или решения.

Начиная с версии 9.0.200 команда предоставляет поддержку определенных пакетов идентификатора среды выполнения (RID), создавая отдельные деревья зависимостей для каждой комбинации RID и платформы. Например, если проект предназначен net9.0 с win-x64 помощью RID, команда создает деревья для net9.0/win-x64 и net9.0.

Старый формат проекта

Чтобы использовать команду с проектами, которые не могут быть восстановлены с помощью пакета SDK для .NET, можно передать файл ресурсов NuGet вместо файла проекта (начиная с пакета SDK для .NET 9):

  1. Сначала восстановите проект в Visual Studio или с помощью msbuild.exe. По умолчанию файл ресурсов находится в каталоге проекта obj\ , но вы можете найти расположение с msbuild.exe path\to\project.proj -getProperty:ProjectAssetsFileпомощью .
  2. Выполните dotnet nuget why path\to\project.assets.json SomePackage.

Arguments

  • PROJECT|SOLUTION

    Файл проекта или решения для выполнения операции. Если указан каталог, команда выполняет поиск каталога для файла проекта или решения. Если найдено несколько проектов или решений, возникает ошибка. Если значение не указано, текущий рабочий каталог используется по умолчанию.

  • PACKAGE

    Имя пакета для поиска в граф зависимостей.

Options

  • -f|--framework <FRAMEWORK>

    Целевые платформы, для которых отображаются граф зависимостей. Вы можете передать несколько --framework параметров, чтобы просмотреть графики для нескольких платформ.

  • -?|-h|--help

    Выводит описание использования команды.

Examples

  • Отображение графа зависимостей пакета System.Text.Json:

    dotnet nuget why System.Text.Json
    

    Пример. Решение с несколькими проектами

  • Отображение графа зависимостей пакета System.Text.Json для определенного проекта:

    dotnet nuget why path/to/DotnetNuGetWhyPackage.csproj System.Text.Json
    
  • Отображение граф зависимостей для конкретной целевой платформы:

    dotnet nuget why System.Text.Json --framework net6.0