VSTS dotnet Nuget Pack:不是有效的版本字符串

Joe*_*ski 6 .net-core azure-devops azure-pipelines

我正在尝试在 VSTS 中为 .net-standard 2.0 库创建预发布版本。我通过以下步骤创建了一个构建

  1. dotnet 恢复版本 2
  2. dotnet 构建版本 2
  3. 点网包版本 2
  4. nuget推送版本2

当我使用环境变量(PackageName)作为$(Build.BuildNumber)-beta我的包版本时。该包因错误而失败BuildName_2018.7.11.1-beta is not a valid version string。我之前曾使用此环境变量作为 .net-framework 中的包版本成功构建。

Edd*_*SFT 5

该版本不符合 Nuget 包版本格式。它必须以如下数字开头:

1.0.1

1231年6月11日

4.3.1-rc

2.2.44-beta1

因此,您需要删除内部版本号格式中的字符串。有关详细信息,请参阅此链接:包版本控制

  • 我自己的问题是我的版本以“v0.1.0”开头,“v”就是问题所在。 (2认同)

And*_*SFT 1

那是因为该字符串$(Build.BuildNumber)-beta不是环境变量。

您可以尝试创建一个变量,例如$(packversion)并将字符串设置$(Build.BuildNumber)-beta为该变量的值,然后 $(packversion)dotnet pack任务中使用环境变量。


更新:

似乎只能识别以数字结尾的字符串作为版本字符串。

因此,只需尝试添加“ beta ”作为前缀Beta-$(Build.BuildNumber),然后检查是否有效。

在此输入图像描述