【问题标题】:VSTS dotnet Nuget Pack: Is not a valid version stringVSTS dotnet Nuget Pack:不是有效的版本字符串
【发布时间】:2018-07-11 14:50:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: .net-core azure-devops azure-pipelines


    【解决方案1】:

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

    1.0.1

    6.11.1231

    4.3.1-rc

    2.2.44-beta1

    因此,您需要删除内部版本号格式的字符串。详情参考此链接:Package versioning

    【讨论】:

    • 我自己的问题是我的版本以v0.1.0 开头,v 是问题所在。
    【解决方案2】:

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

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


    更新:

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

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

    【讨论】:

    • 我的变量是这样设置的,但仍然出错
    • @JoeJazdzewski 删除字符串“-beta”怎么样?只需使用变量$(Build.BuildNumber)
    • 当“-beta”被删除时,它可以工作,但我正在尝试制作一个预发布版本。除了“-beta”之外,我还尝试了其他词,我得到了同样的结果
    • @JoeJazdzewski 只需尝试添加“beta”作为前缀,如Beta-$(Build.BuildNumber),然后检查是否有效。
    • @JoeJazdzewski 有更新吗?字符串Beta-$(Build.BuildNumber) 对你有用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2021-09-17
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多