Как добавить пользовательскую лицензию в пакет nuget для dotnet? - PullRequest
0 голосов
/ 11 декабря 2018

Сегодня я попытался обновить библиотеку классов netstandard2.0 и получил предупреждение о том, что элемент <PackageLicenseUrl> устарел.Проведя некоторые исследования, я добавил следующие строки в мой csproj файл:

<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>

<!-- .... -->

<ItemGroup>
    <None Include="..\LICENSE.txt" Pack="true" PackagePath="$(PackageLicenseFile)"/>
</ItemGroup>

Позже я попытался опубликовать пакет.dotnet pack работает без проблем, но для dotnet nuget push xxx.1.0.2.nupkg -k xxx -s https://api.nuget.org/v3/index.json выводит следующую ошибку:

info : "xxx.1.0.2.nupkg" wird per Push nach "'https://www.nuget.org/api/v2/package'" übertragen...
info :   PUT https://www.nuget.org/api/v2/package/
warn : Your API key expires in 1 days. Visit https://www.nuget.org/account/apikeys to regenerate your API key.
info :   BadRequest https://www.nuget.org/api/v2/package/ 1661 ms
error: Response status code does not indicate success: 400 (License files are not yet supported.).

Сводка:

  • PackageLicenseUrl устарела, но работает
  • PackageLicenseFile не реализовано

Я что-то пропустил?

1 Ответ

0 голосов
/ 11 декабря 2018

Новый клиент NuGet поставлялся до того, как NuGetGallery развернула поддержку этой функции.Но это должно быть , очень скоро .Если вы используете хорошо известную лицензию, вы можете использовать вместо нее выражение SDPX, и nuget.org уже примет их.

РЕДАКТИРОВАТЬ: nuget.org теперь принимает пакеты с файлом лицензии. Объявление о новой функции лицензии здесь .

...