Не удалось отправить пакет GitHub для Nuget

Я следовал всем инструкциям, чтобы иметь возможность протолкнуть пакет nuget моей библиотеки классов в мой частный репозиторий GitHub.

Я добавил в свой csproj следующее

<PropertyGroup>
       <TargetFramework>net5.0</TargetFramework>
       <PackageId>NextWareProductPortalClientServices</PackageId>
       <Version>1.0.1</Version>
       <Authors>CodeGenerator</Authors>
       <Company>NextWare</Company>
       <PackageDescription>This package adds gRPC client library for the NextWare ProductPortal 
       </PackageDescription>
       <RepositoryUrl>https://github.com/NextWareGroup/PPD</RepositoryUrl>
 </PropertyGroup>

Я добавил следующий файл nuget.config в корень проекта ..

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <clear />
        <add key="github" value="https://nuget.pkg.github.com/jkears/index.json" />
    </packageSources>
    <packageSourceCredentials>
        <github>
            <add key="Username" value="jkears" />
            <add key="ClearTextPassword" value="******6d5a57b7527dfcc646b62ca7d1*****" />
        </github>
    </packageSourceCredentials>
</configuration>

К личному токену применены все разрешения.

После запуска dotnet cli для создания пакета я вижу пакет в папке bin \ release. Затем я пытаюсь запустить следующую команду ...

dotnet nuget push "bin/Release/NextWareProductPortalClientServices.1.0.1.nupkg" --source "github"

Результат выглядит следующим образом:

warn : No API Key was provided and no API Key could be found for 'https://nuget.pkg.github.com/jkears'. To save an API Key for a source use the 'setApiKey' command.
Pushing NextWareProductPortalClientServices.1.0.1.nupkg to 'https://nuget.pkg.github.com/jkears'...
  PUT https://nuget.pkg.github.com/jkears/
An error was encountered when fetching 'PUT https://nuget.pkg.github.com/jkears/'. The request will now be retried.
An error occurred while sending the request.
  The response ended prematurely.
  PUT https://nuget.pkg.github.com/jkears/
An error was encountered when fetching 'PUT https://nuget.pkg.github.com/jkears/'. The request will now be retried.
An error occurred while sending the request.
  The response ended prematurely.
  PUT https://nuget.pkg.github.com/jkears/
error: An error occurred while sending the request.
error:   The response ended prematurely.

Я изучил эту проблему, но ни одно из исправлений, о которых сообщалось, не помогло мне, в том числе запуск непосредственно из интерфейса командной строки Nuget.


person John Kears    schedule 04.12.2020    source источник
comment
У меня такая же проблема. Вы можете попробовать это dotnet nuget push "bin/Release/NextWareProductPortalClientServices.1.0.1.nupkg" --source "github" --api-key YOUR_API_KEY. Это решает мою проблему с API_KEY, но теперь я получаю сообщение об ошибке «Нет целевого репозитория».   -  person Kenan Nur    schedule 07.12.2020
comment
Я думаю, что приведенная выше команда решает вашу проблему, но после этого вы можете получить ту же ошибку, что и я.   -  person Kenan Nur    schedule 07.12.2020
comment
Спасибо @KenanNur. Позже сегодня я попробую ваше решение, возможно, все вместе мы заставим это работать. В моем случае решение на основе curl будет работать для моих нужд. Я создаю микросервисы в коде, следуя принципам DDD, и мне нужно продвигать их в виде пакетов nuget для поддержки интеграции с ранее созданными библиотеками классов из других моделей предметной области. Мне просто нужен подход типа CLI, который я могу запустить в потоках действий GitHub, и решения curl должно быть достаточно для поддержки этой потребности.   -  person John Kears    schedule 08.12.2020


Ответы (1)


Хотя это не ответ, я смог отправить пакет nuget с помощью следующей команды curl ..

curl -vX PUT -u [OwnerName]: [PersonalToken] -F [email protected] https://nuget.pkg.github.com/jkears/

Я не уверен, почему DotNet CLI не работает, но все, что мне нужно, - это вышеперечисленное.

person John Kears    schedule 04.12.2020