我刚刚在项目中设置了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 get-version:
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 get-version:
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软件包版本会有差异的任何想法?
我怀疑您在仓库中的master分支中,而不在Dapper仓库中的master分支中。这就是为什么从NuGet / NPM软件包版本字符串中删除git commit id的原因。根据https://github.com/AArnott/Nerdbank.GitVersioning/blob/master/doc/versionJson.md:
[
publicReleaseRefSpec
字段使从某些分支或标记中生成的内容自动从该版本中删除-gabc123 git commit ID后缀,从而使使用方便的版本号(假定其为线性版本化)从这些引用中构建发行版变得很方便。] >