Loading

新版的nuget包 PackageLicense 这样写

Intro

最近编译类库项目的时候发现总是有个 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" PackagePath= "$(PackageLicenseFile)"/>
  </ItemGroup>
</Project>

Reference

posted @ 2018-12-31 12:09  WeihanLi  阅读(1363)  评论(2编辑  收藏  举报