今天,我尝试更新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
未实现我错过了什么吗?
答案 0 :(得分:1)
在NuGetGallery取消了对该功能的支持之前,已经发布了新的NuGet客户端。但这应该是coming very soon。如果您使用众所周知的许可证,则可以改用SDPX表达式,并且nuget.org将已经接受那些。
编辑:nuget.org现在接受带有许可证文件的软件包。 Announcement of the new licence feature here。