Я бы пошел с *-Package
командлетами.Я сделал некоторые вещи для автоматизации с NuGet, где мне пришлось выбирать между командлетами NuGet CLI или PowerShell *-Package
.Поскольку nuget list --allversion
не работает с февраля 2017 года (см. билет GitHub ).Я решил использовать командлеты PowerShell.
С Документация по PowerShell :
PS> Install-Package -Name NuGet.Core -Source MyNuGet -Credential Contoso\TestUser
Возможно, вам придется определить имя поставщика в NuGet
через -ProviderName
:
Указывает одно или несколько имен провайдеров пакетов, в которые входит поиск в вашем пакете.Вы можете получить имена поставщиков пакетов, выполнив командлет Get-PackageProvider.
...
Допустимые значения: msi, Programs, msu, Bootstrap, PSModule, nuget, chocolatey
Причина, по которой я написал этот ответ, хотя этот вопрос помечен как дубликат:
Ответ stackoverflow , помечающий этот вопрос как дубликат, относится либо к использованию Visual Studios, встроенных в консоль управления (который реализован в виде отдельного хоста Powershell и поэтому не может использоваться через стандартный PowerShell) или с помощью инструментов NuGet CLI (которые не покрывали все мои требования к автоматизации).Использование «* -Package` командлетов не распространяется на этот ответ.
UPDATE 1
Вот пример того, как установить log4Net
пакет NuGet:
Install-Package log4net -ProviderName NuGet -Source https://www.nuget.org/api/v2 -Scope CurrentUser -Force
Для получения дополнительной информации о том, что установлено в фоновом режиме, вы можете присоединить переключатель -Verbose
.
Насколько я помню, вы используете API-интерфейс NuGet v2
.