如何向我的 dotnet nuget 包添加自定义许可证?
How can a add a custom license to my dotnet nuget package?
今天,我尝试更新我的 netstandard2.0
class 库,但收到 <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
打印以下错误:
信息 : "xxx.1.0.2.nupkg" wired per Push nach "'https://www.nuget.org/api/v2/package'" übertragen...
信息:PUT https://www.nuget.org/api/v2/package/
警告:您的 API 密钥将在 1 天后过期。访问 https://www.nuget.org/account/apikeys 重新生成您的 API 密钥。
信息:错误请求 https://www.nuget.org/api/v2/package/ 1661 毫秒
错误:响应状态代码不表示成功:400(尚不支持许可证文件。)。
总结:
PackageLicenseUrl
已弃用但有效
PackageLicenseFile
未实现
我是不是漏掉了什么?
新的 NuGet 客户端在 NuGetGallery 取消对该功能的支持之前发布。但应该是coming very soon。如果您使用众所周知的许可证,则可以改用 SDPX 表达式,并且 nuget.org 已经接受了。
编辑:nuget.org 现在接受带有许可证文件的包。 Announcement of the new licence feature here.
今天,我尝试更新我的 netstandard2.0
class 库,但收到 <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
打印以下错误:
信息 : "xxx.1.0.2.nupkg" wired per Push nach "'https://www.nuget.org/api/v2/package'" übertragen... 信息:PUT https://www.nuget.org/api/v2/package/ 警告:您的 API 密钥将在 1 天后过期。访问 https://www.nuget.org/account/apikeys 重新生成您的 API 密钥。 信息:错误请求 https://www.nuget.org/api/v2/package/ 1661 毫秒 错误:响应状态代码不表示成功:400(尚不支持许可证文件。)。
总结:
PackageLicenseUrl
已弃用但有效PackageLicenseFile
未实现
我是不是漏掉了什么?
新的 NuGet 客户端在 NuGetGallery 取消对该功能的支持之前发布。但应该是coming very soon。如果您使用众所周知的许可证,则可以改用 SDPX 表达式,并且 nuget.org 已经接受了。
编辑:nuget.org 现在接受带有许可证文件的包。 Announcement of the new licence feature here.