新版的nuget包 PackageLicense 这样写
最近编译类库项目的时候发现总是有个 licenseUrl 的警告,警告信息如下:
warning NU5125: The ‘licenseUrl‘ element will be deprecated. Consider using the ‘license‘ element instead
本文针对的是使用新版项目文件打包的方式,*.nuspec 官方文档详细,在此不多说。
新版的官方文档里基本没有提及,不过 Github 有个 samples 项目,可以参考。
新版项目文件的 nuget 包原来可以指定一个 PackageLicenseUrl
来指定这个包的 license, 现在不再支持了,现在有两种方式可以指定,一种是 LicenseExpression
一种是 LicenseFile
。
LicenseExpression
示例:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<!-- <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> -->
</PropertyGroup>
</Project>
更多license列表可以参考:https://spdx.org/licenses/
LicenseFile
增加 license file,具体的 license 写在 license file 内,并配置打包,然后配置 PackageLicenseFile
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<PackageLicenseFile>License.txt</PackageLicenseFile>
</PropertyGroup>
<ItemGroup>
<None Include="License.txt" Pack="true" Visible="false" PackagePath=""/>
</ItemGroup>
</Project>
Reference
- https://github.com/NuGet/Home/wiki/Packaging-License-within-the-nupkg-(Technical-Spec)#license-expression-pack
- https://github.com/Nuget/Samples
- https://spdx.org/licenses/
原文地址:https://www.cnblogs.com/jcsoft/p/12235269.html
时间: 2024-10-18 08:12:11