如何为我的dotnet nuget软件包添加自定义许可证?

时间:2018-12-10 21:05:09

标签: nuget nuget-package .net-standard dotnet-cli

今天,我尝试更新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 :(得分:1)

在NuGetGallery取消了对该功能的支持之前,已经发布了新的NuGet客户端。但这应该是coming very soon。如果您使用众所周知的许可证,则可以改用SDPX表达式,并且nuget.org将已经接受那些。

编辑:nuget.org现在接受带有许可证文件的软件包。 Announcement of the new licence feature here