versioning - 具有相同配置的 Nerdbank.GitVersioning 给出不同的结果
问题描述
我刚刚在我的项目中设置了 Nerdbank.GitVersionning,我的设置与 Dapper 相同
这是我的 version.json
{
"$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"version": "0.1.0-alpha.{height}",
"assemblyVersion": "0.1.0.0",
"publicReleaseRefSpec": [
"^refs/heads/master$",
"^refs/tags/v\\d+\\.\\d+"
],
"nugetPackageVersion": {
"semVer": 2
},
"cloudBuild": {
"buildNumber": {
"enabled": true,
"setVersionVariables": true
}
}
}
如果我执行 nbgv 获取版本:
Version: 0.1.0.1
AssemblyVersion: 0.1.0.0
AssemblyInformationalVersion: 0.1.0-alpha.1+021de4e5ee
NuGet package Version: 0.1.0-alpha.1
NPM package Version: 0.1.0-alpha.1
这是 Dapper 的 version.json
{
"version": "1.50.8-alpha.{height}",
"assemblyVersion": "1.50.0.0",
"publicReleaseRefSpec": [
"^refs/heads/master$",
"^refs/tags/v\\d+\\.\\d+"
],
"nugetPackageVersion": {
"semVer": 2
},
"cloudBuild": {
"buildNumber": {
"enabled": true,
"setVersionVariables": true
}
}
}
如果我执行 nbgv 获取版本:
Version: 1.50.8.23
AssemblyVersion: 1.50.0.0
AssemblyInformationalVersion: 1.50.8-alpha.23+e7020b2bde
NuGet package Version: 1.50.8-alpha.23.e7020b2bde
NPM package Version: 1.50.8-alpha.23.e7020b2bde
关于为什么 Nuget 和 NPM 包版本存在差异的任何想法?
解决方案
我怀疑你在你的 repo 的 master 分支中,而不是在 Dapper repo 的 master 分支中。这就是从 NuGet / NPM 包版本字符串中删除 git 提交 ID 的原因。根据https://github.com/AArnott/Nerdbank.GitVersioning/blob/master/doc/versionJson.md:
该
publicReleaseRefSpec
字段会导致基于某些分支或标签的构建自动从版本中删除 -gabc123 git commit ID 后缀,从而可以方便地使用假定线性版本控制的友好版本号从这些 ref 构建发布。
推荐阅读
- spring - SpringBoot 处理 @RequestParam 异常
- javascript - 在道具更改时重新渲染组件
- git-bash - 将 Git Bash 终端设置重置为默认值
- android - 我希望在 Firebase 实时数据库中添加数据时收到通知
- database - BigQuery 是 ACID 还是 BASE?
- xml - 没有针对生成的 xsd 正确验证 XMl
- powershell - 用于包装 powershell 模块命令的 PowerShell 中间件
- ansible - 使用不同库存的游戏之间的 Ansible 共享变量
- firebase - Crashlytics 对未提及的 javascript 文件名中的本机错误作出反应
- c# - 如何使用 LINQ 获取最新号码