Переход на частный канал NuGet (VSTS) дает 400 BadRequest
Я испытываю трудности, толкаясь к VSTS, когда я нахожусь на Linux. Я пробовал много вещей, таких как установка пакета NuGet (который сильно устарел) в Linux (версия 2.5.*). Так как это не сработало, я установил моно и запустил NuGet 3.5 и 4.0, чтобы перейти к VSTS. И теперь я застрял в получении плохого запроса.
Это команда, которую я использую:
mono NuGet.exe push pack/package.nupkg -Source "TFS" -ApiKey VSTS
Это nuget.config, который я использую:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
<add key="aspnet-contrib" value="https://www.myget.org/F/aspnet-contrib/api/v3/index.json" />
<add key="TFS" value="https://some.pkgs.visualstudio.com/_packaging/package/nuget/v3/index.json" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<packageSourceCredentials>
<TFS>
<add key="Username" value="some@emailregisteredatvsts.nl" />
<add key="ClearTextPassword" value="somepassword" />
</TFS>
</packageSourceCredentials>
</configuration>
Что здесь происходит? Если я устанавливаю Verbosity в подробности, я получаю следующую трассировку стека: http://pastebin.com/F5WfZpqN Я поместил ее в PasteBin, так как это очень длинная трассировка стека.
Нажатие из Windows с использованием точно такой же команды и конфигурации работает. Но так как наш CI находится на GitLab и на машине Linux с Debian Jessie, мы должны заставить его работать там.
1 ответ
Я сделал так, чтобы он удалял все моно-полные, но сохранил зависимости для Debian. Затем я удалил nuget.exe из моего проекта (nuget 3.5 и 4.0) и установил nuget с помощью apt-get install nuget
эта версия nuget 2.12.0.0
так как это версия 2 Nuget, я изменил мою конфигурацию на конфигурацию ниже. Обратите внимание на URL-адрес vsts, заканчивающийся на nuget/v2
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
<add key="aspnet-contrib" value="https://www.myget.org/F/aspnet-contrib/api/v3/index.json" />
<add key="TFS" value="https://some.pkgs.visualstudio.com/_packaging/package/nuget/v2" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<packageSourceCredentials>
<TFS>
<add key="Username" value="some@emailregisteredatvsts.nl" />
<add key="ClearTextPassword" value="somepassword" />
</TFS>
</packageSourceCredentials>
</configuration>
эта установка работала локально и на моем ci, так что я счастлив. Мне очень помогло это сообщение: https://github.com/NuGet/Home/issues/3251