You need to enable JavaScript to run this app. 创建NuGet包时如何正确指定GPL3许可证?
优惠活动
大模型
产品
解决方案
定价
更多

创建NuGet包时如何正确指定GPL3许可证?

创建NuGet包时正确指定GPL3许可证的方法

字段校验逻辑

NuGet 的 PackageLicenseExpression 字段严格匹配 SPDX 官方许可证标识符的标准字符串,不存在简写、别名的容错空间。常见的无效写法如 GPLv3、GPL3 均不属于 SPDX 列表中的合法值,自然无法被 NuGet.org 识别。
你之前测试可以正常生效的 MIT 写法,正是因为 MIT 是 SPDX 列表中完全匹配的标准标识符,才能顺利通过平台校验。

可选的合法GPL3配置

根据实际采用的授权范围,选择对应的表达式写入 csproj 文件即可:

  • 仅授权他人在 GPLv3 单版本条款下使用,不支持升级到后续更高版本 GPL 协议:
    <PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
  • 授权他人在 GPLv3 及后续任意更高版本协议下自由使用(GPL 系列协议最常见的授权形式):
    <PackageLicenseExpression>GPL-3.0-or-later</PackageLicenseExpression>

注意:SPDX 已将旧版的 GPL-3.0 这类非精确写法标记为废弃,哪怕本地打包环节没有报错,上传 NuGet.org 时依然会被合规校验拦截。

内容的提问来源于stack exchange,提问作者O S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.03 13:24:05