Как установить пакет из NuGet

#.net #powershell

Вопрос:

Я пытаюсь установить этот пакет из NuGet.

 Install-PackageProvider -Name NuGet

if(Get-PackageProvider -Name NuGet -ea SilentlyContinue)
{
    Install-Package -Name "Google.Apis.Sheets.v4" -Source NuGet -MinimumVersion "1.54.0.2371"
}
 

Но я получаю эту ошибку:

 Install-Package : Dependency loop detected for package 'Google.Apis.Sheets.v4'.
At line:5 char:5
      Install-Package -Name "Google.Apis.Sheets.v4" -Source NuGet
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      CategoryInfo          : Deadlock detected: (Google.Apis.Sheets.v4:String) [Install-Package], Exception
      FullyQualifiedErrorId : DependencyLoopDetected,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
 

Что я делаю не так и как правильно устанавливать пакеты из NuGet?
Версия PowerShell: 5.1

Комментарии:

1. Я могу подтвердить, что у меня такой же неудачный результат, используя pwsh 7.1.4. Install-Package: Dependency loop detected for package 'Google.Apis.Sheets.v4'.

2. Некоторые люди сообщают о добавлении переключателя -SkipDependencies , но.. сделав это, вы можете потерять функциональность. Если вы знаете, какие зависимости необходимы, вы, конечно, можете загрузить их отдельно.

Ответ №1:

Если вы не можете установить пакет из интерфейса командной строки, вы можете напрямую добавить это

<PackageReference Include="Google.Apis.Sheets.v4" Version="1.54.0.2371" /> в вашем файле <имя_проекта>.csproj. Этот подход сработал для меня.