Переход на частный канал 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

Другие вопросы по тегам